<div id="a">
hi
<div id="b">
every one
</div>
<div>bye</div>
</div>
,结果应为
hi <div>bye</div>
怎么做?
答案 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>