如何获取最后一个和前一个附加的div属性和内容onclick?

时间:2012-04-13 19:34:46

标签: javascript jquery

我使用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>

2 个答案:

答案 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的快捷方式。 如果要在列表中包含预格式化的块,请缩进八个空格:

  1. 这是普通文字。
  2. 这是这样,但现在遵循代码块:

    Skip a line and indent eight spaces.
    That's four spaces for the list
    and four to trigger the code block.