Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery`.attr()`不是函数_Javascript_Jquery - Fatal编程技术网

Javascript jQuery`.attr()`不是函数

Javascript jQuery`.attr()`不是函数,javascript,jquery,Javascript,Jquery,我正在尝试使用jQuery获取特定选项标记的值 这是我的HTML: <select name="modele" class="wyszselect" onchange="przenies(this[this.selectedIndex].value);"> <option value="0">Choose model</option> <option value="242">242</option> <optio

我正在尝试使用jQuery获取特定选项标记的值

这是我的HTML:

<select name="modele" class="wyszselect" onchange="przenies(this[this.selectedIndex].value);">
   <option value="0">Choose model</option>
   <option value="242">242</option>
   <option value="243">243</option>
   <option value="244">244</option>
   <option value="246">246</option>
   <option value="320">320</option>
   <option value="324">324</option>
   <option value="328">328</option>
   <option value="33">33</option>
</select>
我得到了这个错误:

未捕获类型错误:oneOption.attr不是函数


oneOption
转换为
jQuery
对象,如下所示

 $("option").each(function (index, oneOption) {
      options.push($(oneOption).attr("value"))
 });

在jquery()中使用
map()
,并使用此对象获取选项值

options = $("option").map(function (index, oneOption) {
    return this.value;
}).get().join(',');

或在每个()中


可能需要将其转换为jQuery元素:

$("option").each(function (index, oneOption) {
      options.push($(oneOption).attr("value"))
 });

每个函数将传递
DOM
对象,而不是
jQuery
对象。转换为jQuery对象或使用DOM对象,如
options.push(oneOption.value)
,这将比将DOM对象转换为jQuery对象,然后调用
attr
获取值更快。您也可以使用
this.value

$("option").each(function (index, oneOption) {
      //options.push($(oneOption).attr("value"));       
      options.push(oneOption.value);
      //options.push(this.value);
});
用于获取逗号分隔的值

$("option").map(function(){
   return this.value;
}).get().join(',');

oneOption
是一个dom对象,
.attr()
是一个jquery函数。您可以使用
oneOption.value
@RazvanDumitru您的意思是做console.log(map(options))?@Adil否我的意思是控制台应该打印如下内容:
optinos=[“value1”、“value2”、“value3”、“value4”…]
如何以逗号分隔的形式获得结果?join()您的更新为我提供了此结果
0242243244246320324328,33
,而我希望此结果:
[“值”、“值”、“值”…]
$("option").each(function (index, oneOption) {
      //options.push($(oneOption).attr("value"));       
      options.push(oneOption.value);
      //options.push(this.value);
});
$("option").map(function(){
   return this.value;
}).get().join(',');