Javascript 更改不属于任何标记的div元素内的文本

Javascript 更改不属于任何标记的div元素内的文本,javascript,jquery,html,Javascript,Jquery,Html,如果我有这样一个div元素: <div class="span5"> <div id="msg" class="alert"> <button type="button" class="close" data-dismiss="alert">&times;</button> <strong>Hello!</strong> world </div> </

如果我有这样一个div元素:

<div class="span5">
    <div id="msg" class="alert">
        <button type="button" class="close" data-dismiss="alert">&times;</button>
        <strong>Hello!</strong> world
    </div>
</div>

我不想将
world
包装在任何标记中,除非它们不会弄乱任何格式

span
标记,除非您在CSS中将它们弄乱,否则根据定义,不会应用任何格式。我经常使用它们来达到这个目的

<div class="span5">
    <div id="msg" class="alert">
        <button type="button" class="close" data-dismiss="alert">&times;</button>
        <strong>Hello!</strong> <span id="world">world</span>
    </div>
</div>

&时代;
你好世界

我不认为你能做到这一点,也不认为你应该做到这一点,我认为选择DOM的特定元素比“没有任何标记的任何东西”更好,因为“没有任何标记的东西”在未来很容易会有所不同。 你为什么不用一个跨度或类似的东西把它包起来

发件人:

标记本身不提供任何可视更改


span是一种解决方案。作为替代方案,您还可以迭代子节点并更改最后一个文本节点。(当然,我也会推荐span方法)


这让我想起一只小狗在追逐它的尾巴!使用具有不同类名的span。在HTML中不应使用文本“不属于任何标记的一部分”。始终遵循格式良好的规则。
<div class="span5">
    <div id="msg" class="alert">
        <button type="button" class="close" data-dismiss="alert">&times;</button>
        <strong>Hello!</strong> <span id="world">world</span>
    </div>
</div>
var allNodes = $("#msg")[0].childNodes;
var textNode = allNodes[allNodes.length-1];
textNode.nodeValue = "bye";