我在使用以下代码时尝试获取选项的属性值:
$('#select3,#select5,#select7,#select9,#select11')
.children('option[value="'+ selectedDValue +'"]', this)
.attr({'disabled': true,'data-subtext':$(this).attr("data-subtext") + '
(postcode area saved in another zone)'});
但是$(this).attr("data-subtext")
返回'未定义',因此该属性打印为data-subtext="Undefined (postcode area saved in another zone)"
。该选项确实有一个名为data-subtext
的属性,所以我想知道为什么没有返回任何内容?
答案 0 :(得分:1)
根据当前代码this
,window
对象不是option
,而是返回undefined
。
您需要使用.attr(attributeName, fn)
并从.children()
方法中删除。
$(selector).children('option[value="' + selectedDValue + '"]').attr('data-subtext', function(index, value) {
return value + ' (postcode area saved in another zone)'
});