일부 HTML 입력의 이름에 여러 개의 대괄호가 포함되어 있습니다.jQuery .filter() 메서드가 jQuery 1.5.1에서 예상대로 요소를 반환하지 않습니다.
예.
<input name="skus[0].skuattributeoptions[1].sao_option_id" value="559" />
값을 따옴표로 묶을 때 대괄호로 속성 값을 가질 수 있다는 것을 읽었습니다. 어느 쪽이 좋을까. 위와 같은 이름을 가진 요소를 포함하는 jquery 객체에 .filter()를 사용하면 요소가 반환되지 않습니다.
다음은 Chrome 콘솔의 출력을 캡쳐 한 것입니다.
inputs = $('[name="skus[0].skuattributeoptions[1].sao_option_id"]')
은 예상대로 세 가지 요소를 반환합니다.
그러나 내가 동일한 내용의 묶음에 inputs.filter('[name="skus[0].skuattributeoptions[1].sao_option_id"]')
을 사용할 때 나는 아무것도 반환하지 않습니다.
.filter()에 전달 된 선택 도구에 대괄호 세트가 하나만있는 경우 예를 들어 inputs.filter('[name*="skuattributeoptions[1].sao_option_id"]')
필터가 예상 한 것을 반환합니다!
jQuery 1.5.1을 사용하고 있습니다. 내가 뭔가 잘못하고 있는거야? .filter()
첨가 마지막 기능 jQuery를 1.4 (1.0 셀렉터 필터)에있는 동안
http://www.photogifts.co.uk/content/images/affiliate/example/jquery-filter-issue.png
jQuery 1.5.1을 사용하지 않고 예상대로 작동합니다. http://jsfiddle.net/fjeCX/ – undefined
jquery를 업그레이드하십시오. –