我使用jQuery append()
添加新的div,我希望能够获取最后一个div和之前的onclick
的个别内容和属性。
<!DOCTYPE html>
<script type='text/javascript'>
$(document).ready(function(){
$('#ClickDiv').live("click",function(){
IaNm=prompt("Enter Name","Name here...");
IaLang=prompt("Enter Lang","Lang here...")
$('.box:last').append('<div class="box" lang="'+IaLang+'">'+IaNm+'</div>')
})
$('.box').click(function(){
LstNm=$(this).text()
LstT=$(this).attr('lang')
$('b').html(LstNm+' : '+LstT)
})
})
</script>
<input type='button' value='New Div' id='ClickDiv'>
<div class='box' lang='en'>one</div>
<div class='box' lang='fr'>two</div>
<div class='box' lang='de'>three</div>
<b></b>
答案 0 :(得分:3)
您需要更改此行:
$('.box').click(function(){
到
$('.box').live( "click", function(){
如果要捕获文档加载事件后添加的新元素的click事件
编辑:
将$('.box:last').append( ... )
更改为$('.box:last').after(... )
,以便新元素将在完成后添加,而不是在其中添加
答案 1 :(得分:0)
要创建代码块或其他预格式化文本,请缩进四个空格:
This will be displayed in a monospaced font. The first four spaces
will be stripped off, but all other whitespace will be preserved.
Markdown and HTML are turned off in code blocks:
<i>This is not italic</i>, and [this is not a link](http://example.com)
要创建非块,而是内联代码范围,请使用反引号:
$
字符只是window.jQuery
的快捷方式。
如果要在列表中包含预格式化的块,请缩进八个空格:
这是这样,但现在遵循代码块:
Skip a line and indent eight spaces.
That's four spaces for the list
and four to trigger the code block.