$licensetable
.attr({
'data-productkey': heritageProduct.genericProductKey,
'data-internalid': heritageProduct.internalID
}).find('.productname').text(heritageProduct.productName).siblings('.deletesystem').remove();
$licensetable.find(':input').not(':button').prop('disabled', true);
为什么只有上面的代码会禁用$licensetable
中的输入字段?下面的代码不应该相同吗?
$licensetable
.attr({
'data-productkey': heritageProduct.genericProductKey,
'data-internalid': heritageProduct.internalID
}).find('.productname').text(heritageProduct.productName).siblings('.deletesystem').remove().end().find(':input').not(':button').prop('disabled', true);
答案 0 :(得分:1)
描述:结束当前链中最近的过滤操作,并将匹配元素集返回到先前的状态。
所以,不,在你的end()
之后,它会引用$(.productname)
。试试end().end()
(或重构!)。
答案 1 :(得分:1)
您需要另一个.end()
:
$licensetable
.attr({
'data-productkey': heritageProduct.genericProductKey,
'data-internalid': heritageProduct.internalID
})
.find('.productname').text(heritageProduct.productName)
.siblings('.deletesystem').remove()
.end()
.end()
.find(':input').not(':button').prop('disabled', true);
.end()
的文档:http://api.jquery.com/end
第一个.end()
会让您回到$licensetable.find('.productname')
,第二个会让您回到$licensetable
。