반응형
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 메서드(예: 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'));
각()에 전달된 콜백 함수의 두 번째 매개 변수에는 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'));
});
});
저는 이것이 가장 단순한 것이라고 생각합니다.
$("element").getAttribute("<attribute_name>")
속성에 값을 설정하려는 경우
$("element").setAttribute("<attribute_name>", "<new_value>")
사용할 수도 있습니다.jQuery('.class-name').attr("href")
제 경우에는 그게 더 잘 작동합니다.
자세한 내용은 다음과 같습니다."$(...)" 대신 "jQuery(...)"
언급URL : https://stackoverflow.com/questions/4114870/jquery-value-attr-is-not-a-function
반응형
'programing' 카테고리의 다른 글
CSS 스크롤 막대 스타일 크로스 브라우저 (0) | 2023.08.14 |
---|---|
VBA를 사용하여 Excel에서 비어 있지 않은 셀 선택 (0) | 2023.08.14 |
AngularJS 인터셉트카를 사용한 HTTP Basic Auth 대화상자 방지 (0) | 2023.08.14 |
IntIn Swift를 기준으로 UITableView의 특정 행 새로 고침 (0) | 2023.08.14 |
라벨 5.5사용하지 않아 페이지가 만료되었습니다.새로 고침 후 다시 시도하십시오. (0) | 2023.08.14 |