javascript - jquery 将元素存储到 vars

标签 javascript jquery loops

我有一个 <select> 的列表标签,共22个。我用 .find('className');将它们全部存储在数组中,然后遍历它们以获取每个值。

问题是我如何仅使用 jquery 准确地做到这一点?因为如果我尝试使用 .val()在已经存储在变量中的项目上,我将收到错误 .val() is not a function .那么一旦元素被存储到 var 中会发生什么?现在它看起来像这样:

var foo = $('.products_container').find('.fn_variant option:selected'); 

所有选择的选项。每个看起来像 -

<option selected="selected" value="13855" data-price="5 600" data-city_id="5" data-stock="65" data-multiplicity="1">
</option>

循环代码:

for(f in foo) {
    if (typeof foo[f] == 'object') {
        console.log(foo[f].dataset.city_id); 
        // this is the way i'm accessing values right now, which is inconvenient and unclear.
        }
    }

最佳答案

您可以使用:

var $foo = $('.products_container').find('.fn_variant option:selected'); 

和:

$foo.each(function(){
    let $cityID = $(this).attr('data-city_id');
});

关于javascript - jquery 将元素存储到 vars,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48786736/

相关文章:

javascript - 通过以下 HTML lang 值更改内部 HTML

javascript - jQuery 与 native 原型(prototype)冲突

python - 如果它的键存储在变量中,如何获取字典中的值?

javascript - 如何计算在 Javascript 中 for 循环可以运行的最大次数?

php - array_push 在 foreach 循环中不起作用

javascript - 如何使用 JavaScript 小写任何字符串,然后仅将单词的第一个字母大写?

javascript - jQuery 同位素动画不起作用,但过滤起作用

javascript - 使用复选框和简单形式 gem 禁用和启用

javascript - 将 RGB 转换为 ColorName String Javascript

javascript - 下划线渲染 [对象 HTMLDivElement]