我有以下跨度元素:
<div class="text" contenteditable="true" id="example">
<div class="outside">Type here <span class="inside"> please</span>.</div>
<div class="outside">Name here <span class="inside"> first </span>name</div>
</div>
使用下面的 js 函数,我可以得到 in between </span>
and的长度</div>
:
$('span.inside').each(function() {
var sphs = $(this).get(0).nextSibling;
var len = sphs.length;
//If the length is less than 2
if(len < 2){
// i want to replace it with another words like "thanks."
}
})
如果长度小于 8,那么我想用另一个单词或字符串替换它(例如,thanks.
)IN BETWEEN</span>
和</div>
(参见单词“thanks”位置)。
<div class="text" contenteditable="true" id="example">
<div class="outside">Type here <span class="inside"> please</span>thanks.</div>
</div>
我将如何用另一个字符串替换它?
编辑:
请注意,我正在使用.each
,因为可能有多个具有相同类名的 span 元素。在第一行中,只有一个句点 ( </span>.</div>
),因此它满足条件并将被替换为另一个单词(在本例中为“thanks”)。
在第二行 ( </span>name</div>
) 中,长度大于 2,因此不会被替换。
我希望这能澄清它。
<div class="text" contenteditable="true" id="example">
<div class="outside">Type here <span class="inside"> please</span>.</div>
<div class="outside">Name here <span class="inside"> first </span>name</div>
</div>
...会变成...
<div class="text" contenteditable="true" id="example">
<div class="outside">Type here <span class="inside"> please</span> thanks.</div>
<div class="outside">Name here <span class="inside"> first </span>name</div>
</div>