javascript - 如何在 jQuery 中引用一堆刚刚添加的列表项?

标签 javascript jquery html

你如何获得对刚刚附加到 ul 的一堆 li 的引用

假设我有一个列表:

<ul id="mylist">
  <li>1</li>
  <li>2</li>
</ul>

现在我在上面的 ul 上追加了几个 li,所以:

$('mylist').append(response);

响应看起来像这样:

"<li>3</li>
 <li>4</li>
 <li>5</li>"

我想将点击处理程序附加到新附加的 li 上,但如何获取这些 li 的引用?

更新: ul#mylist 在弹出窗口中,最初不可见,单击另一个按钮时显示此弹出窗口:

$mybtn.click(function(){
  $('#mylist').show();
});

那么,我应该在哪里定义“on”处理程序呢?如果我在他的按钮单击处理程序中执行此操作,那么它会多次附加“打开”处理程序,对吧,每次单击按钮时?我也无法在页面加载时定义“on”处理程序,因为那时 mylist 不可见。

最佳答案

在附加元素之前创建元素。

var els = $(response).appendTo('#mylist')
                     .on("click", function() { /* your code */ });

或者,如果它仅用于处理程序,您可以在 ul 上使用委托(delegate)处理程序,而不必担心。

// on page load
$('#mylist').on("click", "li", function() { /* your code */ });

// on response
$('#mylist').append(response);

关于javascript - 如何在 jQuery 中引用一堆刚刚添加的列表项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15179005/

相关文章:

php - 如何不让谷歌地图组地址在一起?

javascript - 我尝试使用 for 循环来保持 DRY 编码方式,但输出让我感到困惑 [关闭问题]

javascript - 更新 Like 按钮而不刷新页面

javascript - Angular 如何在第一次运行时不延迟地使用 $interval?

javascript - 将彩色 Logo 转换为纯白色 Logo

javascript - 现在 ng-app 指令在 html 标签上, Protractor 抛出错误

javascript - 使用 XMLHttpRequest.responseText 解析 XML 文件不会显示在 div 上

JavaScript:未捕获语法错误:参数列表后缺少 )

javascript - jQuery-错误地重复追加到列表

html - 调整浏览器大小时,引导按钮有问题