我试图传递元素本身或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");
}
答案 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()
代码进行微小更改,一切正常: -
工作片段: -
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;
答案 2 :(得分:1)
首先
document.getElementById(button.id)
将为您提供已经拥有的按钮。
第二,你应该将你的元素apss给jquery使用那个addClass方法
$(button).addClass("someclass");
答案 3 :(得分:0)
使用JQuery,您可以执行以下操作:
$("#Your_button").click(function(){
$(this).addClass("clicked_yes");
})
&#13;
答案 4 :(得分:0)
请看一下。它可以帮助你。
$(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;