这是我的 div :
<div id="myDiv">The
<span class="cordial-err-corr" id="good0-0" data-original-title="" title="">best</span>
way to receive congrats
<span>
<span class="cordial-err-corr" id="good0-1" data-original-title="" title="">are</span>
<div class="btn-group">
<a class="btn btn-mini dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a class="prop0-1">is</a></li>
<li><a class="prop0-1">are</a></li>
</ul>
</div>
</span> to give a correct answer.</div>
我想得到这样的文字:“接受祝贺的最好方法是给出正确的答案。”
所以我打电话$('#myDiv').text()
。它不起作用,因为我在ul.dropdown-menu
.
下一步是过滤或删除不需要的孩子,即:
<div class="btn-group">
<a class="btn btn-mini dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a class="prop0-1">is</a></li>
<li><a class="prop0-1">are</a></li>
</ul>
</div>
我尝试使用带有 jquery 选择器的 $.filter 或 $.not 或 $.children 等。我找不到正确的方法来做到这一点。需要帮忙!
您可以在 jsfiddle 中找到一些代码:http: //jsfiddle.net/Ku7FY/
[编辑] 一种解决方案建议使用此代码:
$('#result').append( $('#myDiv').text().replace($(".btn-group").text(),"") ).append('<br />')
如果div.btn-group
存在多个,只需循环为:
var result = $('#myDiv').text();
$(".btn-group").each(function() {
result = result.replace($(this).text(),"");
});
$('#result').append(result).append('<br />')