在.children上获取$(this)选项属性

时间:2017-03-02 10:44:47

标签: jquery this

我在使用以下代码时尝试获取选项的属性值:

$('#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的属性,所以我想知道为什么没有返回任何内容?

1 个答案:

答案 0 :(得分:1)

根据当前代码thiswindow对象不是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)'
});