Javascript 更改不属于任何标记的div元素内的文本
如果我有这样一个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">×</button> <strong>Hello!</strong> world </div> </
<div class="span5">
<div id="msg" class="alert">
<button type="button" class="close" data-dismiss="alert">×</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">×</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">×</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";