$(".gl").hover(function() {
$('select[name="' + $(this).attr('name') + '"]').removeClass("gl").addClass("glHover");//Occurs when hovering over
}, function(){
//Occurs when hover is done
$('select[name="' + $(this).attr('name') + '"]').removeClass("glHover").addClass("gl");
});
这是我的代码,基本上当有人盘旋在gl的任何类上时,它需要找到名称与其自己名称相匹配的所有元素,这对我来说不起作用而且我对jquery很新,所以我我不确定如何解决这个问题
编辑上面的代码,现在它还没有工作,这就是为什么我的html看起来像(大约):
<table><tr>
<td class='gl' name='07/25'></td>
</td></table>
更新
$('td.gl').hover(function() {
$('select[name="'+ $(this).data('name') +'"]').toggleClass('gl glHover');
});
和
<td class='gl' data-name='07/18'></td>
仍然无法正常工作
答案 0 :(得分:1)
尝试:
$(".gl").hover(function()
$('select[name="' + $(this).attr('name') + '"]').removeClass("gl").addClass("glHover");
}, function(){
$('select[name="' + $(this).attr('name') + '"]').removeClass("glHover").addClass("gl");
});
您的元素声明无效,因为您缺少+
用于连接,在这种情况下用于替换元素的name属性,并且您的引号不正确。我切换到单引号,因为你使用双引号作为name属性,语法无效。
更新:您似乎想要选择名称与hovered元素名称对应的任何元素类型。目前,select[...]
的使用情况会查找select
元素。我建议您使用带有相应class
值的name
属性将您的元素链接在一起,然后您可以使用代表class
的{{1}}引用这些元素属性..
在这种情况下,请尝试以下操作:
name
答案 1 :(得分:1)
$("select[name='"+$(this).attr('name')+"']")
应该有用。
答案 2 :(得分:1)
您的代码有字符串连接错误,最后错过了+
,您可以使用this.name
获取名称,这比[{1}}更快。
$(this).attr('name')
或强>
$(".gl").hover(function() {
$("select[name="+ this.name + "]").removeClass("gl").addClass("glHover");
}, function(){
$("select[name="+ this.name + "]").removeClass("glHover").addClass("gl");
});
$(".gl").hover(function() {
$("select[name="+ this.name + "]").removeClass("gl").addClass("glHover");
});
不是name
的有效属性。而不是td
使用name
,如下所示:
data-name
和chage jQuery代码:
<table>
<tr>
<td class='gl' data-name='07/25'>07/25</td>
<td class='gl' data-name='07/25'>07/25</td>
</tr>
</table>