我已經嘗試了我在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