如果我有这样的div元素:
<div class="span5">
<div id="msg" class="alert">
<button type="button" class="close" data-dismiss="alert">×</button>
<strong>Hello!</strong> world
</div>
</div>
并希望只更改msg
元素中的文本。如何更改不属于任何标记的文本(在本例中为world
)
我现在正在执行此操作来更改<strong>
中的文字:
$("#clickme").click(function () {
$("#msg strong").html("Bye");
});
我不想将world
包装在任何标签中,除非它们不会混淆任何格式。
答案 0 :(得分:0)
span
标签,除非你把它搞砸在CSS中,否则根据定义不应用任何格式。我经常使用它们来达到这个目的。
<div class="span5">
<div id="msg" class="alert">
<button type="button" class="close" data-dismiss="alert">×</button>
<strong>Hello!</strong> <span id="world">world</span>
</div>
</div>
答案 1 :(得分:0)
我认为你不能这样做,我认为你不应该这样做,我认为最好选择你的DOM的特定元素,而不是“任何没有任何标签的东西”,这很容易将来会有所不同。 你为什么不用一个跨度或类似的东西包裹它?
&lt; span&gt;标签本身不提供视觉变化
答案 2 :(得分:0)
span是一种解决方案。作为替代方案,您还可以迭代childNodes并更改最后一个文本节点。 (当然我也会推荐跨度方法)。
var allNodes = $("#msg")[0].childNodes;
var textNode = allNodes[allNodes.length-1];
textNode.nodeValue = "bye";