如何获取克隆选项的select属性?

时间:2016-08-26 10:29:10

标签: javascript jquery html

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="simpleSelect"  multiple>
<option type='string'>raj</option>
<option type='number'>1</option>
</select>
<script>
$(function(){
var cloneOptions = $('#simpleSelect option').clone();
console.log(cloneOptions.length); // 2
console.log(cloneOptions[0]); //<option type="string">raj</option>
console.log(cloneOptions[0].length); //undefined
console.log(typeof cloneOptions[0]); //object
});
</script>

如何获取type属性的值。 即使对象长度未定义也很奇怪。 任何有用的帮助。

2 个答案:

答案 0 :(得分:2)

试试这个

$(cloneOptions[0]).attr('type')

答案 1 :(得分:1)

cloneOptions克隆了2个选项元素的对象。cloneOptions[0]返回第一个元素的dom对象。

你需要使用.eq()选择器来获取元素的jquery对象:

cloneOptions.eq(0).attr('type');

type也不是选项元素的有效属性。您应该使用data-*属性来添加自定义属性:

<option data-type='string'>raj</option>

然后使用.data()获取数据属性值“

 cloneOptions.eq(0).data('type');