JQuery prevAll不影响a中的元素<;span>;
看一下演示。为什么prevall不会影响span内的JQuery prevAll不影响a中的元素<;span>;,jquery,Jquery,看一下演示。为什么prevall不会影响span内的?(或者,我怎样才能让它那样工作?) 您的第一个选择的在span中,第二个不在span中。我认为这是一个打字错误 答案假设第二个select也在span中 $('.test').bind("propertychange keyup input paste", function(event){ if ($(this).val() != '') { $(this).prev().find('select').attr('di
?(或者,我怎样才能让它那样工作?)
您的第一个
选择的在span中,第二个不在span
中。我认为这是一个打字错误
答案假设第二个select
也在span中
$('.test').bind("propertychange keyup input paste", function(event){
if ($(this).val() != '') {
$(this).prev().find('select').attr('disabled', true);
} else {
$(this).prev().find('select').attr('disabled', false);
}
});
这是因为,在第一种情况下,prevAll返回上一个同级元素,在这种情况下,span元素未被禁用,但不是select元素。因此,select元素未被禁用。在第二种情况下,选择元素被选中并禁用。要在第一种情况下工作,应在span元素中找到select
$(this).prevAll().find('select').attr('disabled', true);
这是因为prevAll选择了“同级”,而“select”不是它的同级,“span”是。所以你可以使用“密码悖论”的建议
$(this).prevAll().find('select').attr('disabled', true);