Javascript 如何更改页面上的文本?(使用jQuery查找并替换?)

Javascript 如何更改页面上的文本?(使用jQuery查找并替换?),javascript,jquery,html,css,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>

我有一块硬编码的、不可编辑的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执行查找和替换之类的操作?

如果父div的第一个子节点始终是textNode,则可以执行以下操作:

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';
});

我还没有尝试过这种方法,但类似的方法应该可以奏效:

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.
var text=$(“#v65 onepage ordercomments值”).text();
var newText=text.replace(“订单注释:(可选)”,“Sup?

”; $(“#v65 onepage ordercomments值”).text(newText);/。html(newText)也是可行的。
虽然这确实有效,但他要求jQuery提供答案。你们能同时提供这两个答案吗?阿迪内奥,这里有一些答案。似乎不起作用。嗯,第一段代码将新文本添加到旧文本的下面,但不会删除旧文本。第二段代码似乎没有任何效果。它不需要是jQuery,而且看起来普通的JS更接近解决方案。@user1925805-现在我必须在Chrome、Firefox、Opera和IE9中测试代码,它在所有浏览器中都正确地替换了textnode。你在用什么浏览器?@adeneo我在用Chrome。这里有一件奇怪的事情:当我在它自己的脚本标记中使用纯JS代码时,它没有任何效果。只有当我将它放在一个脚本标记中,该标记首先检查特定的url(具体是:“$(function(){if(location.pathname==”/one page checkout.asp”){”)时,它才会添加文本,但仍然不会替换旧文本。我还可以提供其他有用的信息吗?
string()
do,这不会删除所有元素吗?