【问题标题】:jQuery find ID with variable component [duplicate]jQuery使用可变组件查找ID [重复]
【发布时间】:2012-10-01 06:46:34
【问题描述】:

可能重复:
jquery or css selector? select all id’s that start with

此代码在 id 1-3 的鼠标悬停时更改 #idviewsrc 属性。

$("#id_1, #id_2, #id_3, #etc").mouseover(function(){
    $("#idview").attr("src","id_" + this.id.substr(3,4) + ".jpg");
});

如何通过“#id_”选择 ID,然后选择变量整数?例如,如果有 1000 张图像,那么在哪里写出来是不切实际的?

可能类似于$("#id_"+*)?

【问题讨论】:

  • 如何更改源?基于id?

标签: javascript jquery


【解决方案1】:
$('[id^="id_"]').mouseover(function(){
    $('#idview').attr('src', this.id + ".jpg"));
});

或者您可以将一个类添加到您要绑定的元素,然后将其用作选择器。

$('.myClass').mouseover(function() {
    //...
});

【讨论】:

    【解决方案2】:

    只需将变量整数合并到一个字符串中:

    var integer = 2
        myid = "id_" + integer;
    
    $( "#" + myid ) // Selector
    

    虽然如果您不需要针对特定​​ ID,那么我会选择 James 的回答。

    【讨论】:

      【解决方案3】:

      使用attribute starts-with selector

      $("[id^='id_']").mouseover(function () {
          //Do stuff
      });
      

      在属性选择器之前澄清元素类型会更有效,但从您的问题中不清楚您要选择哪些元素。

      【讨论】:

      • 啊,太棒了,没想到这种方法。谢谢。如果有帮助,元素类型都是图像?
      • @idb - 不客气,很高兴我能提供帮助。在这种情况下,只需在属性选择器前添加imgimg[id^='id_']
      猜你喜欢
      • 1970-01-01
      • 2013-11-07
      • 2016-08-19
      • 2019-09-05
      • 2018-03-31
      • 1970-01-01
      • 2011-05-19
      • 1970-01-01
      • 2013-07-11
      相关资源
      最近更新 更多