javascript - 交换单词跨度

标签 javascript jquery

我有一些这样的跨度:

<span class="test">word1 word2 @ different content test </span>
<span class="test">word3 word4 @ different content test343wer</span>
<span class="test">example54 example98 @ different content3453</span>
<span class="test">word13 word92 @ different content1111111</span>
<span class="test">word223 word14 @ different content00</span>

我需要这个输出:

<span class="test">word2 word1</span>
<span class="test">word4 word3</span>
<span class="test">example98 example54</span>
<span class="test">word92 word13</span>
<span class="test">word14 word223</span>

请注意,前两个单词已交换位置,并且 @ 中的所有内容都被删除。

我已经用这段代码进行了测试,但它不完整并且无法工作。它使用 ID 而不是 CLASS:

var datetime = document.getElementById('test').innerHTML;
var date = datetime.substr(0, datetime.indexOf('@')).trim();      
var reverse = date.split(" ");
reverse.reverse();
var result = (reverse[0] + ' ' + reverse[1])
console.log(result);

跨度的数量可能会有所不同

感谢您的帮助:)

最佳答案

实现此目的的最简单方法是按空格split()文本,获取结果数组的前两个元素,反转它们,然后将它们重新连接到一个字符串中,像这样的东西:

$('.test').text(function(i, t) {
  return t.trim().split(' ').slice(0, 2).reverse().join(' ');
})
span { display: block; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="test">word1 word2 @ different content</span>
<span class="test">word3 word4 @ different content</span>
<span class="test">example54 example98 @ different content</span>
<span class="test">word13 word92 @ different content</span>
<span class="test">word223 word14 @ different content</span>

关于javascript - 交换单词跨度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46040916/

相关文章:

javascript - 我可以在不使用 Javascript 的情况下构建可靠的网站吗?

javascript - 单击绘图显示时使标志可见

重写动态url后的Javascript文件路径

javascript - mmenu 不工作,看起来像普通的 html

javascript - $scope.$apply 返回错误 undefined is not a function

php - $POST 没有更新

javascript - 在 setInterval() 中重复动画?

javascript - javascript onchange 中的代码与函数中的相同代码有什么区别?

jquery - 选择带有类的 div 并对单击的 div 执行某些操作

javascript - 桌面上的 jQuery 工具提示