如何在javascript / jquery中将id添加到data-id元素

时间:2018-10-04 09:39:06

标签: jquery html css

我一直在寻找一种解决方案,以在jquery中选择一个数据ID并为其添加ID。 到目前为止,我可以找到适合我的情况的任何解决方案,

我的代码:

(function() {
    $('[data-id="row_34571"]:nth-child(n+2)').attr("id","example");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

因此,我想要的这段代码是自动为子代1选择我的data-id execpt的所有子代对象,并为其指定一个名为example的ID。

欢迎所有解决方案。

5 个答案:

答案 0 :(得分:0)

  

我想用这段代码自动为子代1选择我的data-id execpt的所有子对象

我为您找到了解决方案:

$('[data-id]:not(:nth-of-type(1))').attr("id","example");

示例:

$('[data-id]:not(:nth-of-type(1))').text("This is Not the first one (Selected by jQuery");
[data-id]:not(:nth-of-type(1)) {
color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div data-id="foo">The First one</div>
<div data-id="foo"></div>
<div data-id="foo"></div>
<div data-id="foo"></div>
<div data-id="foo"></div>
<div data-id="foo"></div>

答案 1 :(得分:0)

您可以尝试:

$('[data-id] .childElement').not(":first").attr("id","example");

答案 2 :(得分:0)

尝试一下:

(function() {
     $("[data-id="row_34571"]:not(:first-child)").attr("id","example");
});

答案 3 :(得分:0)

我不确定您是否期望这种解决方案。据我了解,这是一个示例,

$('#change').click(function(){
 var divs = $('#container > div:not(:first-child)');
  $(divs).each(function(){
      var dataId =  $(this).attr('data-id');
      $(this).attr('id','example');
      
     alert($(this).attr('id'));
  })



})
#container>div{
padding:10px;
border:1px solid green;
background-color:#f7f7f7;
margin:5px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="container">
  <div data-id="row1" id="1"></div>
  <div data-id="row2" id="2"></div>
  <div data-id="row3" id="3"></div>
  <div data-id="row4" id="4"></div>
  <div data-id="row5" id="5"></div>
  <div data-id="row6" id="6"></div>
  <div data-id="row7" id="7"></div>
  <div data-id="row8" id="8"></div>
  <div data-id="row9" id="9"></div>
</div>

<button id="change">Chnage IDs</button>

答案 4 :(得分:0)

这是您要找的吗?

var elements = $('[data-id="row_34571"]');

$(elements.children('div').not(":first")).each(function(){
  $(this).attr("id","example");
  $(this).text("modified");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

  <div id="test" data-id="row_34571">
    <div>Div 1</div>
    <div>Div 2</div>
    <div>Div 3</div>
    <div>Div 4</div>
  </div>