代码之家  ›  专栏  ›  技术社区  ›  James L

ID数组-如何使用javascript/jquery进行选择?

  •  12
  • James L  · 技术社区  · 16 年前

    我有一个元素标识符数组,来自服务器端验证。ID没有前缀“”。jquery不是通过数组并预先为每个成员添加前缀,而是通过其ID直接选择所有元素的方法吗?

    6 回复  |  直到 14 年前
        1
  •  13
  •   Georg Schölly Crazy Developer    16 年前

    别忘了“老式”getElementByID——它不需要散列ID。然后向jquery提供节点以获取jquery对象:

    var ids = ['jq-primarySearch', 'jq-n-CSS'];
    var nodes = $.map( ids, function(i) { return document.getElementById(i) } );
    var jqObj = $(nodes);
    
        2
  •  21
  •   Greg    16 年前

    你可以加入他们,就像这样:

    var ids = ['div1', 'div2', 'div3'];
    
    $('#' + ids.join(',#')).click(function() { alert('hi'); });
    
        3
  •  4
  •   stusmith    16 年前

    (注意-我没试过-这是我的头上)

    假设你的数组是“arr”。

    不能将字符串标识符数组映射到jquery对象数组中,然后使用常见的jquery选择器将它们统一起来吗?

    $($.map(arr, function(id) { return $('#' + id); }))
    
        4
  •  3
  •   Elzo Valugi    16 年前

    在jquery中,您可以按如下ID选择

    $("[id=id_value]"); // returns 1 id
    

    如果你给他们起类似于id_1和id_2的名字,你可以这样做。

    $("[id^='id_]") // returns multiple 
    
        5
  •  1
  •   bobince    16 年前

    只需自己进行节点选择,然后包装结果:

    $(document.getElementById(id))
    

    保存构造一个字符串选择器的过程,jquery只需重新解析,然后执行完全相同的操作。另外,您不必担心转义像__:__和_.

        6
  •  0
  •   peirix    16 年前

    如果您将ID作为字符串,那么可以像这样在jquery中选择它。

    $("#"+id); //gives you one element
    

    如果您有多个相似的ID,请使用Elzo的建议。

    推荐文章