我想在这个h5标签中使用javascript插入一个带有类的span,它将应用于第一个单词:
<div class="container_skitter" style="width: 715px; height: 230px;">
<div class="image">
<a href="#">
<div class="label_skitter" style="width: 715px; display: block;">
<h5>Increase knife life</h5>
</div>
</div>
</div>
后
<div class="container_skitter" style="width: 715px; height: 230px;">
<div class="image">
<a href="#">
<div class="label_skitter" style="width: 715px; display: block;">
<h5><span class="firstword">Increase</span> knife life</h5>
</div>
</div>
</div>
是这样的吗?
<script>
$('h5').html(function (i, html) {
return html.replace(/(\w+\s\w+)/, '<span>$1</span>')
});
</script>
似乎无法让它发挥作用。
由于
答案 0 :(得分:1)
在document.ready下添加。在完全加载DOM之前,您的脚本运行得太早。此外,您只需要匹配第一个单词,这样就足以选择它。 /(\w+\s)/
$(document).ready(function(){
$('h5').html(function (i, html) {
return html.replace(/(\w+\s)/, '<span class="test">$1</span>')
});
});
答案 1 :(得分:0)
你走在正确的轨道上。让我们试着在没有JQuery的情况下做到这一点!
<script>
Array.prototype.slice.call (document.querySelectorAll ('h5')).forEach
function (h5el) {
// we will come here with h5el referencing an h5 of the document
h5el.innerHTML = h5el.innerHTML.replace (/^(\w+)\s/,
'<span class="firstword">$1</span> ';
});
</script>
将此脚本放在标记和presto之前或之后,所有h5
元素都将被修改。