如何在 jquery 和 javascript 中检索 html 标签属性
How to retrieve the html tag attributes in jquery and javascript?
我尝试了以下代码从数组中绘制表并从行中检索属性 id。任何建议将不胜感激。
$(document).ready(function(){
$.get('php/php.php', function(data){
$.each(data, function(index, value){
$('table').append(
"<tr id='someid'>"
+"<td>"+value.ticker+"</td>"
+"<td>"+value.bid+"</td>"
+"</tr>");
});
}, "json");
$('tr').click(function(){
var id = $(this).attr("id");
alert(id);
})
});
您将单击事件绑定到尚不存在的元素,因为它们是在异步回调中构造的。不使用click
,而是使用 on
。由于表不是动态构造的,因此可以将on
处理程序附加到该表。
$('table').on('click', 'tr', function () {
...
});
http://api.jquery.com/on/
此外,您正在生成多个具有相同 ID 的<tr>
;这不是有效的标记。
由于您正在动态地将新内容注入 DOM,因此它不知道您绑定的点击事件。 因此,您的点击事件将不起作用。
解决方案:使用jQuery on
$(document).on("click","tr",function(){
var id = $(this).attr("id");
alert(id);
})
此方法可从 jQuery 1.7+ 版本获得。如果您使用的是旧版本,则可以考虑使用委托
从jQuery 1.7开始,.live()
和.delegate()
方法已被弃用on
。
一切都很好,但您刚刚错过了 tr 单击事件末尾的分号
$('tr').click(function(){
var id = $(this).attr("id");
alert(id);
});
如果 tr id 是唯一的,这将提醒 tr 的 id
确保在任何语法错误中都不允许 jquery 代码执行。
相关文章:
- 如何在 jquery 和 javascript 中检索 html 标签属性
- 如何通过querystring传递和检索Html标记
- 存储/检索 html 5 文件对象,用于恢复损坏的文件上传
- 使用 Grunt 检索 html 正文的内容
- 无法使用 JavaScript 检索 HTML 元素的类型
- 如何检索 html 元素的值
- 检索 HTML 表值
- 使用 jQuery 检索 HTML 格式的内容
- 在jQuery插件图像点击中检索HTML
- 在Titanium SDK中保存和检索HTML和.aspx网页
- 将 HTML 放在 Javascript 源代码中或使用 AJAX 检索 HTML
- 在javascript中检索HTML元素的文字值,而不编码与号
- Angular 1.5 -用data检索html的组件
- 通过字符串返回函数检索HTML元素的href链接
- 在断开连接后检索html/javascript网页
- 使用AJAX检索HTML下拉列表值
- 使用从UIWebview中检索html标签
- 使用JavaScript检索HTML表中的复选框状态
- 如何检索HTML对象标记的文档对象
- 在c#代码MVC . net中检索html中的id元素