我的HTML
<div id="x">
<div id="x1">
some text
<div>other text</div>
</div>
<div id="x2">just text</div>
<div>
我的电话
我有这个元素,可以是任何jquery选择器,1个或多个元素:
var x = $("#x");
现在我需要(这是一个会发现内部元素,如标签的插件),只能通过第一个DIV元素导航而不是它的子项目。我正在努力......
$.each($($("div"), x), function() {
alert($(this).html());
});
所示: 一些其他课文 2.其他文字 3.只是文字
$.each($($("div"), x).siblings(), function() {
alert($(this).html());
});
所示: 只是文字 2.一些其他文本文本
这是最接近的,但我需要正确的顺序。有什么建议吗?感谢
PS。因为它是一个插件我不能这样做。
$("#x", "div....")
我需要这样做
#(newselector, x)
答案 0 :(得分:10)
如果您不能使用$("#x > div")
,因为它应该适用于您想到的所有选择器,然后假设您将该特定选择器定义为var x:
var x = $('#x');
// this will select only the direct div children of x whatever the x is
x.children('div');
答案 1 :(得分:1)
使用:
$("#x > div")
作为您的选择器 - 它只会选择ID为div
的{{1}}的直接子项。
答案 2 :(得分:1)
此方法将为您提供div的所有内部文本:
x.children('div').each(function() {
alert($(this).text());
});
如果您不希望 all 组合多个子div的文本,则只能访问每个子文本的直接文本节点:
x.children('div').each(function() {
alert(this.childNodes[0].nodeValue);
});
注意:假设x
是由var x = $('#x')
定义的Jquery元素。