当我尝试获取undefined
的父ID时,我获得span
值。
这是我的代码:
<span id="test">sskdfj <span>test</span> asdkfwsfe</span>
$(obj).closest().attr('id');
答案 0 :(得分:1)
您必须将选择器传递给closest()
才能从中获取任何结果。
如果您想要父元素,请使用parent()
,而不是closest()
。
$(obj).parent().attr('id');
答案 1 :(得分:0)
假设以下HTML:
<div id="test">
<span id="test_2"></span>
</div>
在您的代码obj
中#test_2
。你想获得#test
。您应该为closest
方法选择一个元素,否则jQuery不知道要选择什么。
$("#test_2").closest("#test").attr('ID')
或者,正如Quentin所说,如果那是你想要选择的元素,请使用parent
。
$("#test_2").parent().attr('ID')
请在此处查看: FIDDLE
答案 2 :(得分:0)
由于您正在使用jQuery,请将您的JS代码分开并使用类。
<span id="spn8">
<span class="clickable">[This note is for an FMLA condition]</span>
</span>
function changeText1(obj,event) {
var pid = $(this).parent().attr('id');
alert(pid);
}
$('.clickable').click(changeText1); // 'spn8'