1

我有一块硬编码的、不可编辑的 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>

我想替换“订单评论(可选)”,以及所有那些不间断的空格。我最好将其替换为其他 HTML,例如标题和段落标签。做这个的最好方式是什么?我的假设是使用 jQuery 进行查找和替换之类的操作?

4

2 回答 2

2

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

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

小提琴

或在 jQuery 中:

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

小提琴

于 2013-07-25T14:40:37.580 回答
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.
于 2013-07-25T14:45:20.570 回答