select 양식 요소의 change 이벤트에서 호출되는 javascript 함수가 있습니다. 따라서 js의 "this"변수는 select 요소를 참조합니다.jQuery를 사용하여 특정 클래스 이름을 가진 객체의 "조상"을 얻는 신뢰할 수있는 방법
이 선택 요소는 tr 태그의 td 태그에 있습니다. tr 태그의 클래스 이름은 "FilterDetailsRow"입니다.
지금, 나는 테스트했습니다, 나는이 구문을 사용하는 경우 :
var filterRow = $(this).parent().parent();
그것은 내가 원하는 걸 얻을 수 있습니다. 그러나 "FilterDetailsRow"클래스 이름을 찾을 때까지 "this"로 시작하는 jQuery에 더 좋은 방법이 있습니까?
다음은 내가 생각해 낸 것입니다. 나는 바퀴를 재발 명하지 않도록하고 싶다.
function GetFilterDetailsRowOfObject(o) {
if (o) {
if (o.parent()[0].className.indexOf("FilterDetailsRow") != -1)
return o;
else
return GetFilterDetailsRowOfObject(o.parent());
} else {
return null;
}
}
어떤 조언을 주셔서 감사합니다.
질문은 무엇을 요구하고 있습니다. 'parentsUntil' 문서에서 : "일치하는 요소의 현재 세트에서 각 요소의 조상을 가져옵니다. 선택자와 일치하는 요소는 포함하지 않습니다." – LukeH
closest()가 가장 좋습니다. 그것은 현재 요소로 시작하지만 (첫 번째 요소로 시작하는 parents()와 달리), 0 또는 하나의 객체를 반환합니다. – tbeseda
@ 루케, 아, 맞아. 이것을 사용하려면 레벨을 한 단계 더 높이고 반환 된 jQuery 객체에서 올바른 부모를 선택해야합니다. 귀하의 대답은 훨씬 더 잘 작동합니다. – rosscj2533