传递动态Javascript HTML的ID

时间:2017-07-05 12:04:38

标签: javascript jquery html

我试图传递元素本身或id。我怎样才能做到这一点?

onclick="addYes(this)"
for (var i = 0; i < data.length; i++) {
  tempTable+= '<tr>'+
    '<td  class="cust-data-row"style="height:40px;width:40%;">'+
    data[i].service+
    '</td>'+
    '</td>'+ 
    '<td  class="cust-data-row-yes" style="height:40px;width:10%;  id="rec_btn_yes_' +i+'"  onclick="addYes(this)" >'+
    'Yes'+
    '</td>'+
    '</tr>';            
}

function addYes(button){
  //shows nothing:
  alert(button.id); 
  //not working:
  document.getElementById(button.id).addClass("clicked_yes");
  //unrecognized method:
  button.addClass("clicked_yes");
}   

5 个答案:

答案 0 :(得分:1)

使用 pure javascript:

查看此代码段

var tempTable = "<button id='theID' onclick='addYes(this)'>retrieve id</button>";

document.body.innerHTML += tempTable;

function addYes(button){
alert(button.id); 
//As @SatPal commented
button.classList.add("clicked_yes");
}  

答案 1 :(得分:1)

只需对addClass()代码进行微小更改,一切正常: -

工作片段: -

&#13;
&#13;
function addYes(button){
  alert(button.id); 
  $("#"+button.id).addClass("clicked_yes");
}
&#13;
.clicked_yes{
  color:red;
  font-size:20px;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="abc" onclick="addYes(this)">click pls!</button>
&#13;
&#13;
&#13;

答案 2 :(得分:1)

首先

document.getElementById(button.id) 

将为您提供已经拥有的按钮。

第二,你应该将你的元素apss给jquery使用那个addClass方法

$(button).addClass("someclass");

答案 3 :(得分:0)

使用JQuery,您可以执行以下操作:

&#13;
&#13;
$("#Your_button").click(function(){
  $(this).addClass("clicked_yes");
})
&#13;
&#13;
&#13;

答案 4 :(得分:0)

请看一下。它可以帮助你。

&#13;
&#13;
$(document).ready(function(e){
for (var i = 0; i < 5; i++) { 
    var $tr = '<tr>'+
    '<td  class="cust-data-row"style="height:40px;width:40%;">'+
    i +
    '</td>'+
    '</td>'+ 
    '<td  class="cust-data-row-yes" style="height:40px;width:10%;" id="rec_btn_yes_' +i+'" onclick="addYes(this);" >'+
    'Yes_'+ i +
    '</td>'+
    '</tr>';
    $("#t_body").append($tr);
}
});

function addYes(button){
  //shows nothing:
  console.log(button);
  alert(button.id);
  
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
            <tbody id="t_body">
                
            </tbody>
</table>
&#13;
&#13;
&#13;