我如何读取除特定子元素之外的元素?

时间:2011-01-02 18:29:27

标签: jquery

抱歉英语不好。 我想读取带有“a”id但结果中没有“b”元素的元素?

<div id="a">
hi
<div id="b">
every one
</div>
<div>bye</div>
</div>

,结果应为

 hi <div>bye</div>

怎么做?

3 个答案:

答案 0 :(得分:2)

看起来你想要一个HTML字符串作为结果。

您可以制作.clone() #a,从克隆中删除#b,然后获取.html()内容。

示例: http://jsfiddle.net/uZ97k/

var html = $('#a').clone().children().remove('#b').end().html();

或者可以这样写:

示例: http://jsfiddle.net/uZ97k/1/

var html = $('#a').clone().children('#b').remove().end().html();

答案 1 :(得分:0)

也许jQuery not()选择器方法适合你。

修改:请注意我从字面上解释了您的问题。这将选择匹配某个属性的元素。如果您使用示例代码进行概括,那么这可能无法满足您的需求。如果你能进一步澄清,可能会有所帮助。

答案 2 :(得分:0)

在像这样的div标签中包裹“hi”

<div id="a">
  **<div> hi </div>**
<div id="b">
every one
</div>
<div>bye</div>
</div>

然后

<script type="text/javascript">
    var result = $("#a").children(":not(#b)").html();
</script>