Safari 忽略了我的 Jquery 代码,用于删除 span 中的第一个单词
Safari ignores my Jquery code for removing first word in span
我有一个 UL LI 列表
<ul class="tags no-animation clearfix" id="manufact">
<li>
<a href="">
<img>
<span>Logo name</span>
</a>
</li>
<li>
<a href="">
<img>
<span>Logo name</span>
</a>
</li>
</ul>
我需要去掉 "Logo" 这个词,因为它是重复的。
我的 JS 是
$('#manufact li > a span').each(function(){
var element = $(this);
$(this).text(element[0].innerText.split(' ').splice(1).join(' '));
});
在除 Safari 之外的所有浏览器中,这(可能不是完美的 JS)是可以的,在 Safari 中它完全清除 SPAN 中的所有内容并将其留空。
我想要这个结果 -
<ul class="tags no-animation clearfix" id="manufact">
<li>
<a href="">
<img>
<span>name</span>
</a>
</li>
<li>
<a href="">
<img>
<span>name</span>
</a>
</li>
</ul>
提前致谢!
为了更简单地实现这一点,您可以为 text()
提供一个函数,它仅替换每个元素中文本值开头的单词 Logo
。我还没有测试过,但这在 Safari 中应该可以正常工作。
$('#manufact li > a span').text((i, t) => t.replace(/^Logo\s?/i, ''));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul class="tags no-animation clearfix" id="manufact">
<li>
<a href="">
<img>
<span>Logo name</span>
</a>
</li>
<li>
<a href="">
<img>
<span>Logo name</span>
</a>
</li>
</ul>
如果您 总是 想要删除 span
中的第一个词,无论那个词是什么,那么您也可以将您的原始逻辑用于此模式:
$('#manufact li > a span').text((i, t) => t.split(' ').splice(1).join(' '));
尝试这样的事情:
$('#manufact li > a span').each(function(){
var element = $(this);
element.text(element.text().split(' ').splice(1).join(' '));
});
我有一个 UL LI 列表
<ul class="tags no-animation clearfix" id="manufact">
<li>
<a href="">
<img>
<span>Logo name</span>
</a>
</li>
<li>
<a href="">
<img>
<span>Logo name</span>
</a>
</li>
</ul>
我需要去掉 "Logo" 这个词,因为它是重复的。 我的 JS 是
$('#manufact li > a span').each(function(){
var element = $(this);
$(this).text(element[0].innerText.split(' ').splice(1).join(' '));
});
在除 Safari 之外的所有浏览器中,这(可能不是完美的 JS)是可以的,在 Safari 中它完全清除 SPAN 中的所有内容并将其留空。
我想要这个结果 -
<ul class="tags no-animation clearfix" id="manufact">
<li>
<a href="">
<img>
<span>name</span>
</a>
</li>
<li>
<a href="">
<img>
<span>name</span>
</a>
</li>
</ul>
提前致谢!
为了更简单地实现这一点,您可以为 text()
提供一个函数,它仅替换每个元素中文本值开头的单词 Logo
。我还没有测试过,但这在 Safari 中应该可以正常工作。
$('#manufact li > a span').text((i, t) => t.replace(/^Logo\s?/i, ''));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul class="tags no-animation clearfix" id="manufact">
<li>
<a href="">
<img>
<span>Logo name</span>
</a>
</li>
<li>
<a href="">
<img>
<span>Logo name</span>
</a>
</li>
</ul>
如果您 总是 想要删除 span
中的第一个词,无论那个词是什么,那么您也可以将您的原始逻辑用于此模式:
$('#manufact li > a span').text((i, t) => t.split(' ').splice(1).join(' '));
尝试这样的事情:
$('#manufact li > a span').each(function(){
var element = $(this);
element.text(element.text().split(' ').splice(1).join(' '));
});