我想更改此文字:
<body>
<p class="server_info">
GT 64 ms <b>|</b> Time:
<span id="serverTime">4:21:26</span>
<span id="serverDate">11/03/2014</span>
</p>
</body>
到
<body>
<p class="server_info">
GT 64 ms <b>|</b> Server Time:
<span id="serverTime">4:21:26</span>
<span id="serverDate">11/03/2014</span>
</p>
</body>
如何更改文字?
我用过这个
$(".server_info").text(function(i,v) {
return v.replace("time ", "Server time: ");
});
但结果如下:(内部跨度标签被删除)
<p class="server_info">
GT 64 | Server time: 4:42:02 11/03/2014
</p>
我希望仅将文字Time
更改为Server Time
而不删除此内容:
<span id="serverTime">4:21:26</span>
<span id="serverDate">11/03/2014</span>
答案 0 :(得分:2)
您应该使用html()函数而不是text()函数。这将保持span标签的位置:
$(".server_info").html(function(i,v) {
return v.replace("Time", "Server time: ");
});
这是一个jsfiddle作为例子: http://jsfiddle.net/f5C9J/
答案 1 :(得分:0)
如果你真的必须用javascript做这件事,那么将它包装成跨度是个好主意。
<p class="server_info">
GT 64 ms <b>|</b> <span id="time">Time</span>:
<span id="serverTime">4:21:26</span>
<span id="serverDate">11/03/2014</span>
</p>
然后使用替换方法。
或者你必须再次附加其他两个元素:
var serverTime = $('#serverTime');
var serverDate = $('#serverDate');
$(".server_info").text(function(i,v) {
return v.replace("time ", "Server time: ");
}).append(serverTime).append(serverDate);