javascript - 如何在 div 中设置第三个单词的样式并在新代码的一部分中使用该文本?

标签 javascript jquery html string text

<span class="myclass">
    one two three
</span>
<span class="myclass">
    four fix six
</span>
<span class="myclass">
    seven eight nine
</span>

所以我有这个工作代码来设置第一个单词的样式。

    $('.myclass').each(function() {
        var word = $(this).html();
        var index = word.indexOf(' ');
        if(index == -1) {
            index = word.length;
        }
        $(this).html('<span class="aspanclass2">' + word.substring(0, index) + '</span>' + word.substring(index, word.length));
    });

该代码的结果是这样的,这正是我想要的第一个词:

<span class="myclass">
    <span class="aspanclass2">one</span> two three
</span>
<span class="myclass">
    <span class="aspanclass2">four</span> five six
</span>
<span class="myclass">
    <span class="aspanclass2">seven</span> eight nine
</span>


但是,我还需要为第三个词设置样式。此外,我想使用第三个单词的文本作为样式的一部分添加到它,所以最后看起来像这样:

<span class="myclass">
    <span class="aspanclass2">one</span> two <a href="http://zzzzz.com/three">three</a>
</span>
<span class="myclass">
    <span class="aspanclass2">four</span> five <a href="http://zzzzz.com/six">six</a>
</span>
<span class="myclass">
    <span class="aspanclass2">seven</span> eight <a href="http://zzzzz.com/nine">nine</a>
</span>

我尝试了几件事,但没有用。请帮忙。

(第三个词,而不是第二个词。此外,文本发生变化,不仅仅是文本“六”或“九”,它在每次重新加载页面时都会发生变化。所以只有第三个词不是那么无关紧要谈论用不同的词替换一个词的链接。)

最佳答案

我实际上会使用 split 将您的 span 文本分解为单个单词的数组,操作单个元素并将其重新连接起来并将其添加回DOM-

$('.myclass').each(function(index, me) {
  var words = $(me).text().trim().split(' ');
  words[0] = '<span class="aspanclass2">' + words[0] + '</span>';
  words[2] = '<a href="http://zzzzz.com/' + words[2] + '">' + words[2] + '</a>';
  $(me).html(words.join(' '));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="myclass">
    one two three
</span>
<span class="myclass">
    four fix six
</span>
<span class="myclass">
    seven eight nine
</span>

关于javascript - 如何在 div 中设置第三个单词的样式并在新代码的一部分中使用该文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32964029/

相关文章:

javascript - angularjs Controller 功能不起作用

javascript - 如何在没有_空白页的情况下在新窗口中打开链接?

javascript - 当在键盘上按下 'enter' 时,CSS 按钮不执行表单

javascript - 如何在 14 秒内向下滚动 jQuery 页面

jquery - MVC4 侧边栏事件元素?

javascript - 如何使用切换功能更改按钮文本onclick

javascript - 获取 jQuery UI Datepicker 的高度和宽度

html - HTML/CSS 中 LI 工具栏中的自定义图像

html - CSS:为大下行字体制作厚 <a:hover> 下划线的正确方法

javascript - 仅在系列内堆叠 Highcharts 列