我有看起来像这样的代码:

<li class="capture-details">
  Special Instructions
   <br>
<textarea id="catProdInstructions_6795606" class="productTextarea"></textarea>
</li>


li标记内的所有内容都是由我的CMS生成的,我想删除Special Instructions一词,但请在此之后保留代码。

我尝试了这个:

var text = $('.capture-details').text().replace(/Special Instructions/, 'Your Personalized Message');
$('.capture-details').text(text);


但这也删除了textarea。然后,我尝试:

$('.capture-details').prepend(text);


但这并没有删除Special Instructions一词。

如何删除Special Instructions一词?

以上代码的Here is a fiddle

注意:我可以将textarea硬编码到我的JS中,但是我想避免这种情况,因为textarea id和class可能会更改,但单词Special Instructions不会更改。

最佳答案

您可以只获取textNode并设置其值

$('.capture-details')[0].firstChild.nodeValue = 'Your Personalized Message'


FIDDLE

08-17 20:27