Javascript 返回未定义的jQuery选择器
所以我有一个名为Javascript 返回未定义的jQuery选择器,javascript,jquery,Javascript,Jquery,所以我有一个名为question\u image1的div类,里面有大约四个标签。我的输入被包装在标签中,因此我没有对标签的属性使用 我试图选择所有不是在类中单击的标签 $(".question_image1").click(function(event) { $('.question_image1 label').not(event.target).style.opacity = "30%"; }); 这里有明显的问题吗?一种可能性是,在问题_
question\u image1
的div类,里面有大约四个标签。我的输入被包装在标签
中,因此我没有对标签的属性使用
我试图选择所有不是在类中单击的标签
$(".question_image1").click(function(event) {
$('.question_image1 label').not(event.target).style.opacity = "30%";
});
这里有明显的问题吗?一种可能性是,在问题_image1类和标签之间有一个div级别。这会是一个问题吗?您试图在jQuery对象上使用DOM样式
属性。使用jQuery.css()
方法
$('.question_image1 label').not(event.target).css("opacity", "30%");
但是由于事件冒泡,目标将是多个元素。所以我认为你应该使用
$('.question_image1').not(this).find("label").css("opacity", "30%");
此
将是事件绑定到的元素。您试图在jQuery对象上使用DOM样式
属性。使用jQuery.css()
方法
$('.question_image1 label').not(event.target).css("opacity", "30%");
但是由于事件冒泡,目标将是多个元素。所以我认为你应该使用
$('.question_image1').not(this).find("label").css("opacity", "30%");
此
将是事件绑定到的元素。代码正在更改所有标签,包括目标标签(由console.log确认)。有什么想法吗?event.target
是一个DIV,而不是label.console.log打印一个img和输入元素。要么event.target是包含这两个元素的标签,要么propogation使其成为两个元素都被单击的标签,对吗?如何使其仅更改未单击的图像?这是事件冒泡。请使用$(this)
而不是$(event.target)
。或者可能是$(event.currentTarget)
。代码正在更改所有标签,包括作为目标的标签(由console.log确认)。有什么想法吗?event.target
是一个DIV,而不是label.console.log打印一个img和输入元素。要么event.target是包含这两个元素的标签,要么propogation使其成为两个元素都被单击的标签,对吗?如何使其仅更改未单击的图像?这是事件冒泡。请使用$(this)
而不是$(event.target)
。或者可能$(event.currentTarget)
。