Javascript 通过单击y类元素(JS),更改x类元素的显示

Javascript 通过单击y类元素(JS),更改x类元素的显示,javascript,jquery,Javascript,Jquery,使用JS或Jquery(首选JS)如何在单击另一个元素(两个元素都由各自的类标识)后更改元素的显示样式。 下面的方法似乎不起作用 <script src="https://code.jquery.com/jquery-3.2.1.js"></script> <i id="xyz" class="class1" >hey</i> <div id="abc" class="class2" style="display: block;">

使用JS或Jquery(首选JS)如何在单击另一个元素(两个元素都由各自的类标识)后更改元素的显示样式。 下面的方法似乎不起作用

<script src="https://code.jquery.com/jquery-3.2.1.js"></script>


<i id="xyz" class="class1" >hey</i>

<div id="abc" class="class2" style="display: block;">lo</div>


<script type="text/javascript>
$(function() {
    $(".xyz").click(function() {
        console.log("element with class xyz was clicked");
        $(".abc").css('display': 'none');

    });
});
</script>

嘿
瞧

您应该使用
document.querySelector(cssSelector)
按类或id获取元素,或者使用
document.getElementById
仅按id获取元素。 以下是VanilaJS解决方案:

var firstElem=document.querySelector(“.class1”);
firstElem.addEventListener(“单击”),函数(事件){
var secondElem=document.querySelector(“.class2”);
secondElem.style.display=“无”;
})

lo
看起来您正试图通过在jQuery选择器中使用类语法来引用ID

不要使用
$(“.xyz”)
使用
$(“#xyz”)
。您的
$(“.abc”)
选择器也是如此

希望有帮助

可能会帮助您找到答案。您使用的是$('.xyz),而xyz是一个id,您应该为abc使用$('#xyz)或$('.class1')