我试图使每个按钮都起作用('avatar-container comment ng-scope'),以使其完全起作用。当前,只有最上面的按钮才是功能正常的按钮,我不确定为什么。这是我的代码:
此外,我已经尝试使用addEventListener,但是我仍然遇到相同的问题:(。
$(document).ready(function () {
var groupcomments = $('.group-comments') // Container "Group Comments" are in
$(groupcomments).ready(function () {
function ucall(user) {
window.open('derp.com/userid=' + user, 'popup', 'width=600', 'height=600')
};
if (groupcomments[0]) {
var comments = groupcomments[0].getElementsByClassName('avatar-container comment ng-scope') // This gathers all of the comments themselves
$.each(comments, function () { // (you know this) but, this is looping over each comment.
var user = $(this).find('a')[0].href.toString();
user = user.replace(/[^\d]/g, '')
$(this).append('<button id=btnn>Click</button>') // using $(this) (which i assume are the comments, it appends the button to the comment)
var btn = document.getElementById('btnn') // getting the button
$(btn).click(function () {
ucall(user) // when button is clicked, call ucall function.
})
})
}
})
})
我评论了所有有用的东西,添加的按钮起作用了,但是没有点击。仅在第一个附加。我只是被困在这里。
答案 0 :(得分:0)
您正在循环内添加按钮camImg = (Bitmap) imgdata.getParcelableExtra("img");
。这意味着您将添加多个具有相同ID的按钮。因此,当您致电<button id=btnn">Click</button>
时,只会获得ID相同的按钮列表中的第一个匹配项。
只允许您使用一个具有ID的元素。 ID是唯一的。