1

您好,我有这样的 html 标记:

<div class="expandNode expand">
<input id="100" type="checkbox" value="100" data-parent="">
<span>Office/Commercial</span>
</div>

当我这样做时,在控制台中$('#100')我得到了这个:

[<input id=​"100" type=​"checkbox" value=​"100" data-parent>​]

我需要的是跨度内的文本,即办公/商业。

我怎样才能做到这一点?

4

3 回答 3

4

尝试:

$('#100').next('span').text(); 

或者像:

$('.expandNode span').text();   // not suggested

此外,输入标签需要关闭,但我仍然不建议对 ID 元素使用数字( < HTML5 )

实现相同目标的更灵活和面向未来的方法是:

$('#100').closest('.expandNode').find('span').text();

此外,如果您确定<span>父元素内只有一个,您可以选择:

$('#100').siblings('span').text(); 

这样你就不必依赖span成为直接的.next()元素。

于 2013-02-24T20:54:43.070 回答
0

试试这个 :

$("#100").next('span').text();
于 2013-02-24T20:55:29.780 回答
0

你可以修改你的 span 给它一个 ID 或类(可选):

<span class="expand-span">Office/Commercial</span>

然后使用这个 jQuery 代码找到它:

$('.expandNode').children('.expand-span');

如果你不想给你的跨度一个类或 ID,你可以使用:

$('.expandNode').children('span');
于 2013-02-24T21:00:47.370 回答