我已经尝试了我在Stack Overflow上找到的所有内容,但是我无法使其工作。这是我的代码。从事件触发器获取ID
$(document).ready(function(){
$(".category, .submenu").mouseenter(function(){
var i = 0;
var id = "#category1" /*-- $(obj).attr("id"); */
if (id == "#category1") {i = 1};
$("#submenu" + i).toggleClass("submenuHover");
$("#category" + i).toggleClass("categoryHover");
});
$("#category1, #submenu1").mouseleave(function(){
$("#submenu1").toggleClass("submenuHover")
$("#category1").toggleClass("categoryHover");
});
$("#category2, #submenu2").mouseenter(function(){
$("#submenu2").toggleClass("submenuHover");
$("#category2").toggleClass("categoryHover");
});
$("#category2, #submenu2").mouseleave(function(){
$("#submenu2").toggleClass("submenuHover");
$("#category2").toggleClass("categoryHover");
});
});
<a id="category1" class="category" href="#">Category 1</a>
<div id="submenu1" class="submenu">
<div>
<b>Column 1</b>
<ul>
<li><a href="#">Item 1</a></li>
<li><a href="#">Item 2</a></li>
<li><a href="#">Item 3</a></li>
<li><a href="#">Item 4</a></li>
<li><a href="#">Item 5</a></li>
</ul>
</div>
<div>
<b>Column 2</b>
<ul>
<li><a href="#">Item 1</a></li>
<li><a href="#">Item 2</a></li>
<li><a href="#">Item 3</a></li>
<li><a href="#">Item 4</a></li>
<li><a href="#">Item 5</a></li>
</ul>
</div>
</div>
<a id="category2" class="category" href="#">Category 2</a>
<div id="submenu2" class="submenu">Submenu #2
<div>
<b>Column 1</b>
<ul>
<li><a href="#">Item 1</a></li>
<li><a href="#">Item 2</a></li>
<li><a href="#">Item 3</a></li>
<li><a href="#">Item 4</a></li>
<li><a href="#">Item 5</a></li>
</ul>
</div>
<div>
<b>Column 2</b>
<ul>
<li><a href="#">Item 1</a></li>
<li><a href="#">Item 2</a></li>
<li><a href="#">Item 3</a></li>
<li><a href="#">Item 4</a></li>
<li><a href="#">Item 5</a></li>
</ul>
</div>
</div>
线> VAR ID = “#类别1”/ * - $(OBJ).attr( “ID”); */
是我的问题所在。
我已评论$(obj).attr(“id”);并添加了“#category1”。 它的工作原理是这样的。 我如何获得id,以便将此代码压缩成一个区块? 此外,这仍然是一项工作,所以一旦我找出这一步,我想结合mouseenter和mouseleave使用相同的值我,我不知道如何继续那部分。
在事件处理程序中使用'this'或'$(this)'。 **答案:**使用'this.id'或'$(this).attr('id')' – Tushar
是的,我试过了,它不起作用。这是我执行它的方式吗?这是我的代码行。 var id = $(this).attr(“id”);这是我的第一个JavaScript程序,所以也许我不了解我的代码结构的基本知识。 – Matt
@Matt你确定你“正确地尝试了”吗?看我的答案中的小提琴;我得到了它的工作。 – 8protons