man*_*ams 97 javascript jquery
我有一个div喜欢:
<div id="one">
<div class="first"></div>
"Hi I am text"
<div class="second"></div>
<div class="third"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用jquery仅将"我是文本"中的文本更改为"我是替换".这可能很容易,但我无法做到.
使用$('#one').text('')
只是清空整个#One
div.
Bri*_*tas 130
文字本身不应该是单独的.把它放入一个span
元素中.
把它改成这个:
<div id="one">
<div class="first"></div>
<span>"Hi I am text"</span>
<div class="second"></div>
<div class="third"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
$('#one span').text('Hi I am replace');
Run Code Online (Sandbox Code Playgroud)
Jam*_*iec 114
找到文本nodes(nodeType==3
)并替换textContent
:
$('#one').contents().filter(function() {
return this.nodeType == 3
}).each(function(){
this.textContent = this.textContent.replace('Hi I am text','Hi I am replace');
});
Run Code Online (Sandbox Code Playgroud)
gco*_*ard 12
您需要将文本设置为空字符串以外的其他内容.另外,.html()函数应该在保留div的HTML结构的同时执行它.
$('#one').html($('#one').html().replace('text','replace'));
Run Code Online (Sandbox Code Playgroud)
如果您确实知道要替换的文本,则可以使用
$('#one').contents(':contains("Hi I am text")')[0].nodeValue = '"Hi I am replace"';
Run Code Online (Sandbox Code Playgroud)
要么
$('#one').contents(':not(*)')[1].nodeValue = '"Hi I am replace"';
Run Code Online (Sandbox Code Playgroud)
$('#one').contents(':not(*)')
在这种情况下选择非元素子节点文本节点,第二个节点是我们要替换的节点.
归档时间: |
|
查看次数: |
229221 次 |
最近记录: |