当我尝试获取span的父ID时,我得到未定义的值

时间:2013-10-14 11:42:44

标签: javascript jquery

当我尝试获取undefined的父ID时,我获得span值。

这是我的代码:

<span id="test">sskdfj <span>test</span> asdkfwsfe</span>
$(obj).closest().attr('id');

3 个答案:

答案 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'