algumas informações em html ou até um pouco mais sobre o elemento que você deseja que o nome nos ajudaria a fornecer uma resposta mais específica.
Patricia
4
Use .prop()para obter propriedades e .attr()obter atributos. Não use .attr()para obter uma propriedade como todos sugerem. Estamos trabalhando com JavaScript aqui, não com marcação HTML.
11
Isso deve ser reaberto. Asker devem ser recompensados por chegar ao ponto e não prefaciar com algo como "eu tenho este site onde ..."
cantera
@ cantera25: obrigado por apontar isto ..
Poonam Bhatt
Respostas:
221
Você deve usar attr('name')assim
$('#yourid').attr('name')
você deve usar um seletor de identificação. Se você usar um seletor de classe, encontrará problemas porque uma coleção é retornada.
eu acho que prop()é para propriedades booleanas gosto checkednão para atributos
Nicola Peluchetti
2
@NicolaPeluchetti: .prop()é para qualquer propriedade no elemento DOM. .attr()é um método muito confuso que mudou seu comportamento entre diferentes releases, às vezes fornecendo a propriedade, outras vezes o atributo. De qualquer maneira, há uma distinção entre atributos e propriedades que devem ser observadas usando o método apropriado.
3
@ NicolaPeluchetti: Aqui está um exemplo que ilustra a distinção entre propriedades e atributos.
.prop()
para obter propriedades e.attr()
obter atributos. Não use.attr()
para obter uma propriedade como todos sugerem. Estamos trabalhando com JavaScript aqui, não com marcação HTML.Respostas:
Você deve usar
attr('name')
assimvocê deve usar um seletor de identificação. Se você usar um seletor de classe, encontrará problemas porque uma coleção é retornada.
fonte
$(this).attr('name');
em um seletor de classe$('.jobSelect').change(function() {
e não encontrei problemas.Para ler uma propriedade de um objeto, você usa
.propertyName
ou["propertyName"]
notação.Isso não é diferente para elementos.
Se você deseja usar
jQuery
métodos especificamente , use o.prop()
métodoObserve que atributos e propriedades não são necessariamente os mesmos.
fonte
prop()
é para propriedades booleanas gostochecked
não para atributos.prop()
é para qualquer propriedade no elemento DOM..attr()
é um método muito confuso que mudou seu comportamento entre diferentes releases, às vezes fornecendo a propriedade, outras vezes o atributo. De qualquer maneira, há uma distinção entre atributos e propriedades que devem ser observadas usando o método apropriado.fonte
Brinque com este exemplo do jsFiddle :
HTML:
jQuery:
Isso usa o método .attr () do jQuery para obter valor para o primeiro elemento no conjunto correspondente.
Embora não seja especificamente o jQuery, o resultado é mostrado como um prompt de alerta e gravado no console do navegador .
fonte
fonte
O método .attr () permite obter o valor do atributo do primeiro elemento em um objeto jQuery:
fonte