我知道这很简单,但是我还是jQuery的新手,所以我不确定该如何使用。我已经找到了很多解决方案,可以将第一个单词设为粗体,但不是我所需要的。
我只想使第一个单词以外的其他单词变为粗体。这可能吗?
IE
购买此产品
成为
购买此产品
我只从另一个单词的另一个解决方案中得到一个例子,但是不确定如何调整。
$('.homepage-boxes .ty-banner__image-wrapper a').find('.ty-btn_ghost').html(function(i, h){
return h.replace(/\w+\s/, function(firstWord){
return '<strong>' + firstWord + '</strong>';
});
});
我已经调整了所需的类和查找类,但是我想制作文本<strong>
但不包括第一个单词。
有几种方法可以做到这一点。您可以使用正则表达式/ (.*)/
来匹配第一个空格,然后将其他所有字符匹配到字符串的末尾作为子匹配项:
$('.homepage-boxes .ty-banner__image-wrapper a').find('.ty-btn_ghost').html(function(i, h){
return h.replace(/ (.*)/, " <strong>$1</strong>");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<!-- html structure improvised to match the selectors from the question's JS -->
<div class="homepage-boxes">
<div class="ty-banner__image-wrapper">
<a><span class="ty-btn_ghost">Buy This Product</span></a>
</div>
<div class="ty-banner__image-wrapper">
<a><span class="ty-btn_ghost">Buy The Other Product</span></a>
</div>
<div class="ty-banner__image-wrapper">
<a><span class="ty-btn_ghost">Buy Some Third Product</span></a>
</div>
</div>
请注意,在正则表达式中使用括号允许您使用来引用匹配的位$1
,因此您可以在第二个参数中以字符串形式提供替换,.replace()
而不是传递函数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句