首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果div中的文本为x,则只对x元素执行jquery。

如果div中的文本为x,则只对x元素执行jquery。
EN

Stack Overflow用户
提问于 2015-10-17 14:25:26
回答 3查看 83关注 0票数 0

我想在一段时间内比较这篇课文“免费!”执行一些jquery代码

这是我使用的代码,但不起作用。

代码语言:javascript
复制
<script>
    if (jQuery('span.amount:contains("Free!")')) {
    jQuery('.single_add_to_cart_button').text('More Info');
        jQuery(".amount").css("display", "none");
    }</script>

这是一个html

代码语言:javascript
复制
<span class="amount">Free!</span>

工作,但也执行时,文字不是“免费!”

更新确定的问题是其他的,在一个页面中用类的跨度“数量比较多的时间在某些情况下有文本,而在其他情况下有其他文本”。

问题是当执行jquery时

代码语言:javascript
复制
jQuery('.single_add_to_cart_button').text('More Info');
    jQuery(".amount").css("display", "none");

改变所有的跨度与类“数量,而不仅仅是与内容”免费!

因此,存在一种隐藏和替换文本的方法,其内容仅为“免费!”在同一页?

EN

回答 3

Stack Overflow用户

发布于 2015-10-17 14:31:07

jQuery('div.amount:contains("Free!")')返回一个jQuery对象。jQuery对象在条件语句中总是被计算为true,即使它是空的。

要知道元素是否存在,您应该检查长度:

代码语言:javascript
复制
if (jQuery('div.amount:contains("Free!")').length) { // 0 == false, else true
    jQuery('.single_add_to_cart_button').text('More Info');
    jQuery(".amount").css("display", "none");
}

还请注意,您的HTML是类“span”的div,而不是div

票数 2
EN

Stack Overflow用户

发布于 2015-10-17 14:27:56

使用.html()获取html值,然后与文本Free!进行比较。

这段代码应该可以工作。

代码语言:javascript
复制
if (jQuery('div.amount').html() == 'Free!') {
    jQuery('.single_add_to_cart_button').text('More Info');
    jQuery(".amount").css("display", "none");
}

您还可以使用jQuery.each()检查每个金额,如下所示:

代码语言:javascript
复制
jQuery('div.amount').each(function(){
    if ($(this).html() == 'Free!') {
        jQuery('.single_add_to_cart_button').text('More Info');
        $(this).css("display", "none");
    }
});
票数 0
EN

Stack Overflow用户

发布于 2015-10-17 14:38:52

好的,如果是这样的话,你需要缓存一个包含“免费”。考虑到这一点:

代码语言:javascript
复制
<span class="amount">Free!</span>
<script> 
   var $free = jQuery('.amount:contains("Free")');
   if ($free.length) {
     jQuery('.single_add_to_cart_button').text('More Info');
     $free.hide();
   }
</script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33187683

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档