Estou tentando selecionar este elemento que possui colchetes no atributo name:
<input type="text" name="inputName[]" value="someValue">
Eu tentei isso (o que não funciona):
$('input[inputName[]=someValue]')
e nem isso:
$('input[inputName[]=someValue]')
ou isto:
$('input["inputName[]"=someValue]')
EDIT: Como alguns de vocês apontaram, $('input[inputName=someValue]')
nunca funcionaria. O que eu estava tentando fazer era: $('input[name=inputName][value=someValue]')
. (Mas com []
no atributo name).
Você pode usar barra invertida para citar caracteres "engraçados" nos seletores do jQuery:
Para valores de atributo, você pode usar aspas:
Agora, estou um pouco confuso com o seu exemplo; como é exatamente o seu HTML? Onde a string "inputName" aparece, em particular?
editar bogosidade fixa; obrigado @Dancrumb
fonte
<select name="foo[bar]">
usando$('select[name=foo\\[bar\\]]')
porém eu sou capaz de fazê-lo usando$('select[name="foo[bar]"])
, você segunda sugestão.A sintaxe do seletor de atributos é
[name=value]
ondename
está o nome do atributo evalue
é o valor do atributo.Portanto, se você deseja selecionar todos os
input
elementos com o atributoname
com o valorinputName[]
:E se você deseja procurar por dois atributos (aqui:
name
evalue
):fonte
Se o seletor estiver contido em uma variável, o código abaixo pode ser útil:
Nesse caso, prefixamos todos os caracteres especiais com barra invertida dupla.
fonte
Basta separá-lo com aspas diferentes:
JQuery:
fonte