name 속성에 대괄호가있는이 요소를 선택하려고합니다.
<input type="text" name="inputName[]" value="someValue">
나는 이것을 시도했다 (작동하지 않는다) :
$('input[inputName[]=someValue]')
그리고 이것도 마찬가지입니다.
$('input[inputName[]=someValue]')
아니면 이거:
$('input["inputName[]"=someValue]')
편집 : 일부 사람들이 지적했듯이 $('input[inputName=someValue]')
결코 작동하지 않습니다. 내가하려는 것은 : $('input[name=inputName][value=someValue]')
. (그러나 []
이름 속성에 있음).
답변
당 jQuery를 문서 ,이 시도 :
$('input[inputName\\[\\]=someValue]')
[편집] 그러나 선택기에 맞는 구문인지 확실하지 않습니다. 당신은 아마 원할 것입니다 :
$('input[name="inputName[]"][value="someValue"]')
답변
백 슬래시를 사용하여 jQuery 선택기에서 “재미있는”문자를 인용 할 수 있습니다.
$('#input\\[23\\]')
속성 값의 경우 따옴표를 사용할 수 있습니다.
$('input[name="weirdName[23]"]')
자, 나는 당신의 모범에 약간 혼란스러워합니다. HTML은 정확히 어떻게 생겼습니까? 특히 “inputName”이라는 문자열이 어디에 표시됩니까?
고정 된보고 편집 ; 감사합니다 @ Dancrumb
답변
속성 선택기 구문은 [name=value]
where name
속성 이름이며 value
속성 값입니다.
따라서 input
속성 name
값이있는 모든 요소 를 선택하려면 다음을 수행하십시오 inputName[]
.
$('input[name="inputName[]"]')
그리고 두 가지 속성 (여기서 : name
및 value
) 을 확인하려면 다음을 수행하십시오 .
$('input[name="inputName[]"][value=someValue]')
답변
선택자가 변수에 포함 된 경우 아래 코드가 도움이 될 수 있습니다.
selector_name = $this.attr('name');
//selector_name = users[0][first:name]
escaped_selector_name = selector_name.replace(/(:|\.|\[|\])/g,'\\$1');
//escaped_selector_name = users\\[0\\]\\[first\\:name\\]
이 경우 모든 특수 문자 앞에 이중 백 슬래시를 붙입니다.
답변
다른 따옴표로 구분하십시오.
<input name="myName[1][data]" value="myValue">
jQuery :
var value = $('input[name="myName[1][data]"]').val();
답변
