반응형
jQuery : value.attr은 함수가 아닙니다.
나는 내 페이지에서 이것을 훔쳤다.
$('#category_sorting_form_save').click(function(){
var elements = $("#category_sorting_elements > div");
$.each(elements, function(key, value) {
console.info(key," : ",value);
console.info("cat_id: ",value.attr('cat_id'));
});
});
그리고 실행되면 다음을 얻습니다.
0 : <div class="dragable" cat_id="6" value="" style="opacity: 1;">
value.attr is not a function
console.info("cat_id: ",value.attr('cat_id'));
내가 여기서 뭘 잘못하고 있니? div.cat_id 요소의 값을 얻으려고합니다.
해당 jQuery 객체의 내용은 jQuery 메서드 (예 :)에 응답하지 않는 일반 DOM 요소 .attr
입니다. 값을 사용하려면 값을 $()
jQuery 객체로 변환해야합니다.
console.info("cat_id: ", $(value).attr('cat_id'));
또는 DOM 메서드를 직접 사용하십시오.
console.info("cat_id: ", value.getAttribute('cat_id'));
원시 DOM 요소를 다루고 있습니다. jquery 객체로 래핑해야합니다.
console.info("cat_id: ",$(value).attr('cat_id'));
each ()에 전달 된 콜백 함수의 두 번째 매개 변수 는 jQuery 래퍼 객체가 아닌 실제 DOM 요소를 포함합니다. 요소 의 getAttribute () 메소드를 호출 할 수 있습니다 .
$('#category_sorting_form_save').click(function() {
var elements = $("#category_sorting_elements > div");
$.each(elements, function(key, value) {
console.info(key, ": ", value);
console.info("cat_id: ", value.getAttribute('cat_id'));
});
});
또는 jQuery 객체에 직접 요소를 래핑합니다.
$('#category_sorting_form_save').click(function() {
var elements = $("#category_sorting_elements > div");
$.each(elements, function(key, value) {
console.info(key, ": ", value);
console.info("cat_id: ", $(value).attr('cat_id'));
});
});
또는 다음을 사용하십시오 $(this)
.
$('#category_sorting_form_save').click(function() {
var elements = $("#category_sorting_elements > div");
$.each(elements, function() {
console.info("cat_id: ", $(this).attr('cat_id'));
});
});
참고 URL : https://stackoverflow.com/questions/4114870/jquery-value-attr-is-not-a-function
반응형
'development' 카테고리의 다른 글
Hibernate를 사용한 Spring Security 3 데이터베이스 인증 (0) | 2020.11.07 |
---|---|
=== vs. == 루비 (0) | 2020.11.07 |
R에서 반복되는 값의 시퀀스 (0) | 2020.11.07 |
브라우저에서 angularjs의 $ rootScope 객체를 디버깅하는 방법 (0) | 2020.11.07 |
인수를 사용하여 bash에서 Python 스크립트 호출 (0) | 2020.11.07 |