javascript - 为什么 jQuery 返回整数而不是对象?

标签 javascript jquery

我正在尝试在 <select> 中预选一个选项基于变量的标记。 但是,当通过 jQuery 选择元素并使用 .each() 对其进行迭代时,它似乎返回整数而不是对象,因此 .value 等不适用。

这是我的代码:

$("#id option").each(function(option){
    if(option.value == "myValue") {
        option.value.selected = "true";
    }
});

最佳答案

如果您想要元素引用,您的 each 函数不正确,那么 each 中应该有第二个参数,因为第一个参数是 index 引用范围。其次,您可以简单地使用 val() 函数来设置下拉列表的值。

$("#id option").each(function(index,option){
    if(option.value == "myValue") {
        $("#id").val('myValue');
    }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id='id'>
  <option value="volvo">volvo</option>
  <option value="saab">Saab</option>
  <option value="myValue">myValue</option>
  <option value="audi">Audi</option>
</select>

或者您可以简单地使用 $(this) 作为:

$("#id option").each(function(){
    //check value of each option
    if($(this).val() == "myValue") {
        $("#id").val('myValue');
    }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id='id'>
  <option value="volvo">volvo</option>
  <option value="saab">Saab</option>
  <option value="myValue">myValue</option>
  <option value="audi">Audi</option>
</select>

关于javascript - 为什么 jQuery 返回整数而不是对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49569333/

相关文章:

javascript - Django formset.js : Can't delete a from

javascript - 未捕获错误 : You should not use <Switch> outside a <Router>, 但开关在里面

jQuery 从选择选项切换 div

jquery - 如何知道 jquery resizing 中正在使用哪个句柄

javascript - 如何将图像像素转换为纬度和经度中的相同位置以供谷歌地图使用

javascript - 如何在h2 innerhtml前后添加字符

javascript - 循环不能正确执行函数操作

javascript - jquery修改url获取参数

javascript - 链接检测并替换其他,在js中

c# - 使用 MVC 4 ASP.NET C# 自定义 jQGrid 颜色