1

我想在这个 h5 标记中插入一个使用 javascript 的类的跨度,这将应用于第一个单词:

<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>

似乎无法让它工作。

谢谢

4

2 回答 2

1

在 document.ready 下添加它。您的脚本在 DOM 完全加载之前运行得太早。此外,您只需要匹配第一个单词,这样就足以选择它。/(\w+\s)/

$(document).ready(function(){
     $('h5').html(function (i, html) {
     return html.replace(/(\w+\s)/, '<span class="test">$1</span>')
     });
   });

小提琴

于 2013-05-17T18:03:33.567 回答
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元素都将被修改。

于 2013-05-17T18:07:55.527 回答