动态添加/删除类Jquery
Dynamic Add/Remove Class Jquery
我正在创建一个自动建议框,该框返回了一个of建议,我正在尝试将类"searchsuggestinnerulshighlight"添加/删除到各个链接。这是动态返回的ta
<DIV id="searchsuggestinner">
<UL id=searchsuggestinnerul>
<LI>
<A href="#" id="1" class = "hoverme" onMouseDown="searchsuggestSubmit('appalachian trail');">appalachian trail</A>
</LI>
</UL>
</DIV>
这是我的jQuery:
$(".hoverme").live("mouseover mouseout", function(event) {
if ( event.type == "mouseover" ) {
$("#" + mocount).removeClass("searchsuggestinnerulhighlight");
mocount = $(this).attr('id');
$("#" + mocount).addClass("searchsuggestinnerulhighlight");
} else {
$("#" + mocount).removeClass("searchsuggestinnerulhighlight");
}
});
最初我有.css("背景色"……现在我把它改为添加类和删除类,但它不起作用。有什么想法吗?
更改:
$("#" + mocount).add("searchsuggestinnerulhighlight");
收件人:
$("#" + mocount).addClass("searchsuggestinnerulhighlight");
mocount = $(this).attr('id');
$("#" + mocount)
这真是狡猾的jQuery!
首先,您不需要attr
来获得id
。你可以用this.id
得到它。这要快得多。
其次,您不需要获得id
就可以获得包含已单击元素的jQuery选择。只需使用$(this)
即可。
最后,正如Gabe所说,使用addClass
而不是add
。所以,总而言之:
$(this).addClass('searchsuggestinnerulhighlight');
不过,还有一件事——在HTML5之前的HTML中不允许使用以数字开头的ID值。它的行为不能得到保证。
我会把它放在注释中,但我做不到。实现loneomeday的更改,但当他使用$(this).id时,请尝试仅使用this.id,因为"this"应该已经是jquery对象。(我们不想要$($(这个))。)
相关文章:
- Jquery删除图像
- 使用jquery删除输入框上的外部处理程序/库
- jQuery 2.1 |删除重复子字符串的源子字符串
- Javascript/JQuery删除代码中的父TR问题
- 使用jQuery删除动态创建的元素上的mouseenter事件
- Jquery删除上面的br标记
- Jquery-删除单选按钮
- JQuery.删除DOM树中的上一个同级
- 使用jQuery删除部分URL
- 使用jquery删除href中的特定字符或标记
- 使用jquery删除包含的行
- 如何使用Jquery删除伪元素
- Jquery删除除粗体之外的所有内容
- jquery .删除整个 li 或 table 元素后
- 使用JQuery删除禁用的属性
- Javascript/Jquery删除和添加'onmouseover'setinterval上的事件
- 如何使用jQuery删除具有一定效果的css类
- 使用jquery删除td类
- 使用jQuery删除两个类
- 如何使用jquery删除元素