【问题标题】:Add class to Checked = True Input将类添加到 Checked = True 输入
【发布时间】:2018-01-08 20:56:56
【问题描述】:

所以我有一个产品的下拉选择。我只想在检查输入时添加一个类。我知道使用 css 你可以识别 input:checked 但我需要一个额外的来进一步开发。 这是我的代码的一部分

for (var i=0,length=variant.options.length; i<length; i++) {
    var radioButton = $productForm.find('.swatch[data-option-index="' + escape(i) + '"] :radio[value="' + variant.options[i].replace(/\"/g,'\\"') +'"]');
    if (radioButton.length) {
      radioButton.get(0).checked = true;
    }
  }

我尝试以这种方式添加类:

if (radioButton.length) {
      radioButton.get(0).checked = true.addClass("selected");;
}

这样

if (radioButton.length) {
      radioButton.get(0).checked = true;
      radioButton.get(0).addClass("selected");
}

这两种方法都不起作用,我不明白为什么。

【问题讨论】:

    标签: jquery select input shopify checked


    【解决方案1】:

    当您混合使用 javascript 和 jquery 时它们不起作用 - 是的 jquery javascript,但它有自己的适用于 jquery 对象的方法,其中之一是 .addClass()

    所以这段代码:

    var radioButton = $productForm.find(...
    

    返回一个 jquery 对象,而:

    radioButton.get(0)
    

    给出原始的 DOM 对象,它没有 .addClass() 方法。

    您可以使用.addClass 而不使用.get(0),如下所示:

    radioButton.addClass("selected");
    

    【讨论】:

      猜你喜欢
      • 2015-02-25
      • 2018-02-22
      • 1970-01-01
      • 1970-01-01
      • 2014-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-18
      相关资源
      最近更新 更多