gru*_*ber 1 html javascript jquery
我想将html DOM节点内的所有元素拆分为带有id的跨度,例如:
让我说我有元素:
<div>
<h1>Header</h1>
<h2>header2</h2>
<p class="test">this is test p</p>
</div>
Run Code Online (Sandbox Code Playgroud)
结果应该是:
<div>
<h1><span id="1">Header</span></h1>
<h2><span id="2">header2</span></h2>
<p class="test"><span id="3">this</span><span id="4">is</span><span id="5">test</span> <span id="6">p</span></p>
</div>
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助
如果有嵌套图像,它也可以工作:
<div>
<h1>Header</h1>
<h2>header2</h2>
<p class="test"><img alt="test alt" />this is test p</p>
</div>
Run Code Online (Sandbox Code Playgroud)
结果:
<div>
<h1><span id="1">Header</span></h1>
<h2><span id="2">header2</span></h2>
<p class="test"><img alt="test alt" /><span id="3">this</span><span id="4">is</span><span id="5">test</span> <span id="6">p</span></p>
</div>
Run Code Online (Sandbox Code Playgroud)
包装每个单词这样的东西应该有帮助:
var c = 0; // create a counter
$('div > *').each(function(){
var text = $(this).html().split(' '), // split your text strings
len = text.length, // get lenght of splitted parts
result = []; // create array
for( i=0; i<len; i++ ) { // looping 'len' times....
result[i] = '<span id="'+( ++c )+'">' + text[i] + '</span>'; // populate array
}
$(this).html(result.join(' ')); // apply edits
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2026 次 |
| 最近记录: |