我在这里有一个特殊的情况,如果某些文本与第一个子容器匹配,则需要在第二个容器之后添加第三个容器。
所以:
<div class="ans_value">
<b class="ans_value_title">123</b>
<span class="ans_value_text>abc</span>
</div>
如果ans_value_title包含123,则变为以下内容:
<div class="ans_value">
<b class="ans_value_title">123:</b>
<span class="ans_value_text>abc</span>
<div class="ans_value_new></div>
</div>
这是我尝试但无法正常工作的代码:
if ($('div.ans_value > b.ans_value_title:contains("123:")').length > 0) {
$(".ans_value_new").addClass("thisClass");
}
任何指针将不胜感激!
答案 0 :(得分:2)
可以使用filter()
或each
循环使其特定于实例
$('.ans_value_title').filter(function(){
return $(this).text().trim() === '123'
}).parent().append('<div class="ans_value_new">New div</div>')
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="ans_value">
<b class="ans_value_title">123</b>
<span class="ans_value_text">abc</span>
</div>
答案 1 :(得分:0)
这里:
$('.ans_value').children().eq(0).text()=='123'&&//check the first children's value
$('.ans_value').append('<div class="ans_value_new></div>')//inject dom at end