与jquery有点问题。 我有这个HTML:
<li class="order">
Order
<strong>$order->id</strong>
</li>
我想改变&#34;秩序&#34;到&#34;最后的订单&#34; (这个html来自一个插件,如果我从插件目录中更改它,更改将不会在下次更新时保存。)
所以我决定用jquery html()
函数来改变它。但是,如果我这样做
$('.order').html('Last order');
结果是:
<li class="order">
Last order
</li>
但我不想删除$ order-&gt; id,因为它是动态内容。
我的问题是,是否可以用strong
标签或其他东西排除它?
像
$('.orde:not(strong)').html("Last order");
提前致谢!
答案 0 :(得分:1)
如何隔离孩子,包括新文本,然后再次附加孩子。
注意:.clone()
无关紧要,因为您没有更换孩子;
var temp = $('.order').clone().children();
var new_text = "Last Order";
$('.order').html(new_text);
temp.appendTo($('.order'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<li class="order">
Order
<strong>$order->id</strong>
</li>
您也可以隔离该元素,这是更明智的:
var el = $('.order')
var temp = el.clone().children();
var new_text = "Last Order";
el.html(new_text);
temp.appendTo(el);
如果你想要一个简单的功能:
function change_text(el, new_text){
var temp = el.clone().children();
el.html(new_text);
temp.appendTo(el);
}