javascript - jQuery ID 选择器

标签 javascript jquery jquery-selectors

如果我在ID为#ASC-01的img上使用鼠标输入,我想向具有相同ID但具有不同路径的li添加类,可以这样做吗?我的意思是在大括号中写一个路径,请参阅代码。

    $(".pile img#ASC-01").mouseenter(function(){
    $(".option ul li#ASC-01").addClass("highlight_option");
});

感谢您的帮助

最佳答案

是的,这是可能的,但这不是解决这个问题的一个好的解决方案/方法。 DOM 中不能有两个具有相同 id 的元素。

我建议您这样做:

  1. 不要为图像提供重复的 ID,而是添加一个属性 引用 li 对象,如下所示:

    <img src="foo.jpg" imageFor="ASC-01">
    
  2. 然后在事件触发时,像这样查询 li:

    $(".pile img").mouseenter(function(){
        imageLiFor = $(this).attr('imageFor');
        $("#"+imageLiFor).addClass("highlight_option");
        // Note that you don't need the ".option ul li" anymore because you have a unique id.
    });
    

这样您就可以摆脱重复的 id,并保持代码干净且易于理解。

希望我有所帮助。祝你今天过得愉快! :-)

关于javascript - jQuery ID 选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32096461/

相关文章:

javascript - 如何在 JavaScript 中清空数组?

jquery第n个子选择器问题

javascript - 如何使用 JSDoc 验证/检查类型?

javascript - 用 JavaScript 代替小题大做

Visual Studio 2012 中的 Javascript 关键字颜色

jquery - 在 jQuery 中选择祖先的有效方法

javascript - JQuery 伪选择器 :visible is working at one place but not at other place

jquery - addClass 使用 .live() 和 jQuery

javascript - Electron 上的 jQuery 主流程

javascript - 如何仅在 jquery on() 函数不存在时设置它?