我查看了论坛,但没有找到解决我问题的方法。我正在基于img src值在元素上添加一个类。如果img src包含' amazon'将一个类添加到最接近的li元素并基于该li元素改变跨度的文本。直到这里一切都很好,在此之后我想要更改其父元素没有该类名称的span的文本。我无法找到解决方案。这是我的代码。
<script>
jQuery(document).ready(function(){
var select = 'img[src*="images-amazon.com"]';
jQuery(select).closest("li").addClass("sac-amazon");
var cls = jQuery("li.sac-amazon");
var currency = jQuery("span.woocommerce-Price-currencySymbol");
if(cls){
currency.text("US $");
}else if(!cls){
currency.text("SG $");
}
});
</script>
答案 0 :(得分:2)
我想更改其父元素没有该类名称的span的文本
您只需要定位子跨距。使用:not()
selector定位li
没有该课程,然后使用descendant selector
jQuery("li.sac-amazon span.woocommerce-Price-currencySymbol").text("US $");
jQuery("li:not(.sac-amazon) span.woocommerce-Price-currencySymbol").text("SG $");
答案 1 :(得分:1)
试试这个(用您选择的字符串替换&#39;新文字&#39;)
jQuery('ul li').each(function(){
var t = jQuery(this);
if(!t.hasClass('sac-amazon')){
t.text('New text');
}
});