我正在尝试制作一个JS,但由于我不是那方面的专家,也许有人可以帮助我。我在谷歌和Stack Overflow中搜索它,但没找到我需要的东西。我刚刚发现onmouseover
改变了元素本身的类。但我想要一些不同的东西:
我想在onmouseover
代码上设置a
,将其他元素中的closed
类更改为open
。例如:
<a href="#" onmouseover="<active event>">Link</a>
<ul class="dropdown closed"><li>Item</li></ul>
此致
答案 0 :(得分:4)
您可以使用<a href="#" onmouseover="changeClass">Link</a>
和JS:
function changeClass() {
document.getElementById("other-element").className = "open";
}
更高级的JSFiddle:http://jsfiddle.net/eRdHJ/1/
答案 1 :(得分:2)
如果你包含jQuery:
为您的元素添加ID:
<a href="#" id="a1">Link</a>
<ul class="dropdown closed" id="ul1"><li>Item</li></ul>
使用Javascript:
$("#a1").mouseover(function(){
$("#ul1").addClass("open").removeClass("closed")
})
答案 2 :(得分:2)
<a href="#" onmouseover=$("ul.dropdown").addClass("open").removeClass("closed")>Link</a>
<ul class="dropdown closed"><li>Item</li></ul>
这是jsfiddle:http://jsfiddle.net/eRdHJ/2/
答案 3 :(得分:1)
这将访问页面上的第一个<ul>
。要缩小范围,首先需要getElementById
来获取基于标记名称的元素。然后,它将仅使用该特定ID名称从该标记中选择子项;
<script>
function changeUl() {
// Get the first found UL, anywhere in the body
document.getElementsByTagName('ul')[0].className = 'otherName';
}
</script>
<a href="#" onmouseover="changeUl();">Link</a>
ID
<script>
function changeUl() {
var wrapper = document.getElementById('wrapper');
wrapper.getElementsByTagName('ul')[0].className = 'otherName';
}
</script>
<div id="wrapper">
<a href="#" onmouseover="changeUl();">Link</a>
</div>
你可能想检查是否有任何发现。如果找不到[0]
,<ul>
可能会触发未定义/错误。