gpt4 book ai didi

javascript - 如果div中的文本是x,则仅对x元素执行jquery

转载 作者:行者123 更新时间:2023-12-02 15:32:48 25 4
gpt4 key购买 nike

我想在一个范围内比较此文本“免费!”执行一些jquery代码

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

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

这是一个 html

<span class="amount">Free!</span>

工作,但当文本不是“Free!”时也会执行

更新好吧,问题是其他的,在页面中,类“数量比较更多时间,在某些情况下有文本,在其他情况下有其他文本”

问题出在执行jquery时

jQuery('.single_add_to_cart_button').text('More Info');
jQuery(".amount").css("display", "none");

使用类“amount”更改所有范围,而不仅仅是内容“Free!”

因此存在一种隐藏和替换文本的方法,仅适用于内容为“Free!”的范围。在同一页面?

最佳答案

jQuery('div.amount:contains("Free!")') 返回一个 jQuery 对象。 jQuery 对象在条件语句中始终评估为 true,即使它为空。

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

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 是带有“amount”类的 span,而不是 div

关于javascript - 如果div中的文本是x,则仅对x元素执行jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33187683/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com