如何更改页面上的文字? (使用jQuery查找和替换?)

时间:2013-07-25 14:39:36

标签: javascript jquery html css

我有一块硬编码,不可编辑的HTML:

<td id="v65-onepage-ordercomments-value" width="61%" valign="top" colspan="2">
     Order Comments:&nbsp;(Optional)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
     <br>           
     <textarea name="Order_Comments" id="v65-onepage-ordercomments-input" rows="3" cols="55"></textarea>
</td>

我想替换“Order Comments(Optional)”以及所有那些不间断的空格。我最好将其替换为其他HTML,如标题和段落标记。做这个的最好方式是什么?我的假设是做一些像发现和发现的事情。用jQuery替换?

2 个答案:

答案 0 :(得分:2)

它总是一个textNode,它是父div的第一个子节点,你可以这样做:

var node = document.getElementById('v65-onepage-ordercomments-value').firstChild;
node.nodeValue = 'new content';

FIDDLE

或在jQuery中:

$('#v65-onepage-ordercomments-value').contents().each(function() {
    if (this.nodeType===3 && this.nodeValue.trim().length) 
        this.nodeValue = 'new content';
});

FIDDLE

答案 1 :(得分:1)

没试过,但这样的事情应该有效:

var text = $("#v65-onepage-ordercomments-value").text();
var newText = text.replace("Order Comments:&nbsp;(Optional)", "<p>Sup?</p>");
$("#v65-onepage-ordercomments-value").text(newText); // .html(newText) is also viable.