我有"自动创建"从数据库循环链接,当我点击链接时它应该显示一个iframe,它只适用于第一个链接。并没有与其他人合作......
首先打印数据的代码
while($row = mysqli_fetch_assoc($wr))
{
printf(nl2br("<a class='questions' id='oldQ'><b>%s</b></a>\n\n"), $row['question'], $row['question']);
}
然后是创建iframe的代码
document.getElementById('oldQ').onclick = function() {
var iframe = document.createElement('iframe');
iframe.src = "qa.php";
iframe.class = "iframe";
document.body.appendChild(iframe);
};
答案 0 :(得分:1)
您为while循环中的每个项目分配了相同的html id
,然后在javascript查找中使用该ID。
答案 1 :(得分:1)
您不能对多个html元素使用相同的id
。为每个iframe分配一个唯一的id
,或者根本不为它们分配id
- 而是使用类:
printf(nl2br("<a class='questions oldQ'>...
然后
var elements = document.getElementsByClassName('oldQ');
for (i in elements) {
elements[i].onclick = ...
}