我似乎无法弄清楚如何执行此操作,但我创建的按钮在单击时会向包含文本框的页面添加新div。这工作正常,但我想要做的是如果用户点击div我希望在警告框中弹出divs id。代码如下。
HTML
<table>
<td>
<ul id ="firstColumn">
<div id="identifier">
</div>
</ul>
</td>
<td>
<ul id ="secondColumn" width="5%">
<li><input type="button" class="formCreationButton" id="textAdd" value="Single line text" /></li>
</td>
<ul>
</table>
添加div和文本框的jQuery如下工作正常。
$('#textAdd').click(function() {
var newdiv = document.createElement('div');
newdiv.innerHTML = "Textbox " + textBoxCounter + " <br><div id='container "+counter+"' class='container'><li><input type='text' value='TEXT' name='textBox " + textBoxCounter +"onclick='display(this)'></li></div></br>";
document.getElementById("identifier").appendChild(newdiv);
textBoxCounter++
counter++;
});
所以每当我点击按钮时,都会创建一个新的div和文本框。我现在要做的是当用户点击div时,会弹出一个警告框,其中包含所点击的div的id。显然,这不是我想要做的唯一事情,但它是我坚持的部分,下面是我的尝试。
$(".container > div").click(function(){
var divID = this.id;
alert(divID);
// do other stuff that needs to be done
});
当我点击div时,唯一发生的事情是弹出一个警告“内容”。我需要它包含类似“container1”或“container2”等的东西。
无论如何,提前感谢您提供的任何帮助,我们非常感谢。对jQuery来说很陌生,所以对其他人看起来很简单的事情有困难。
答案 0 :(得分:3)
.on
API可以解决问题:http://api.jquery.com/on/ 演示 http://jsfiddle.net/eqDKP/1/
另请注意,html表格缺少tr
代码。
希望这有助于:)
<强>码强>
$(".container > div").on('click',function(){
var divID = this.id;
alert(divID);
// do other stuff that needs to be done
});
答案 1 :(得分:2)
您应该为新创建的元素委派click
事件:
.on(events [,selector] [,data],handler(eventObject))
$(".container").on('click', "div", function(){
var divID = this.id;
alert(divID);
});