gpt4 book ai didi

Javascript/jQuery OR 运算符在 attr 值上无法正常工作

转载 作者:行者123 更新时间:2023-12-03 01:37:37 25 4
gpt4 key购买 nike

在检查输入的属性值时,我尝试使用 Javascript OR 运算符:||,但遇到了一点困难。

我过去在使用 .val() 时使用过 OR 运算符,并且它有效。我的代码示例如下,它本质上检查输入的值属性,它可以在没有 OR 运算符的情况下查找,但是一旦我添加它,它几乎只适用于第一个,我没有错在这里?

$(".js__question-wrap").each(function() {
if ( $(this).find("input[type='radio']").attr("value") === "No" || "no" || "NO" ) {
$(this).closest(".js__question-wrap").find("[data-radiolabel='no']").removeClass("label-is-hidden");
} else if ( $(this).find("input[type='radio']").attr("value") === "Yes" || "yes" || "YES" ) {
$(this).closest(".js__question-wrap").find("[data-radiolabel='yes']").removeClass("label-is-hidden");
}
});

附注:

我已经尝试在 OR 运算符之后添加选择器,如下所示:

if ( $(this).find("input[type='radio']").attr("value") === "No" || $(this).find("input[type='radio']").attr("value") === "no" )

我在这方面运气不太好。

这是 Magento 2 项目。

最佳答案

你不能这样做,因为当你写:

$(this).find("input[type='radio']").attr("value") === "否"|| “不” || “NO”无论如何它都是true

  1. $(this).find("input[type='radio']").attr("value") === "No" 将会true 如果值为 === '否'
  2. "no" 始终为 true,因为它是字符串
  3. “NO” 像第二个一样

你必须告诉Javascript他必须在这里测试什么 $(this).find("input[type='radio']").attr("value") forEach value !

所以:

$(this).find("input[type='radio']").attr("value") === "否"|| “不” || “否”

成为

$(this).find("input[type='radio']").attr("value") === "No" || 
$(this).find("input[type='radio']").attr("value") === "no" ||
$(this).find("input[type='radio']").attr("value") === "NO"

您可以使用此 jQuery 函数来执行此操作:$.inArray() DOC

$.inArray( $(this).find("input[type='radio']").attr("value"), ["No", "no", "NO"] ) >= 0

else if 条件相同!

关于Javascript/jQuery OR 运算符在 attr 值上无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51001211/

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