在jQuery中选择属性的值
我有下表:
text1 text2 text3 text4 text5 text6 text7 text8
对于每个
我想在第8个
保存字符串中name属性的值我试过这个:
function DownloadZip() { $('.DownloadZip').click(function(){ var res = ""; $('#table_csrdownloadcenter').find("tbody").find("tr").find(td:nth-child(8)).find("input").each(function(){ res = $(this).attr("name").text(); alert(res); } }); }
任何人都可以帮助我使这个工作吗?
迭代每个tr
,然后检查第8th
td的input
var mappedAttributes = $("#table_csrdownloadcenter tr").map(function() { return $("td:eq(7) input", this).attr("name"); }).get();
这将创建每个name
属性值的数组。
要创建一个字符串:
var str = ""; $("#table_csrdownloadcenter tr").each(function() { str += $("td:eq(7) input", this).attr("name"); })
只需删除text()
方法, attr("name")
将返回name属性的值,同样缺少""
function DownloadZip() { $('.DownloadZip').click(function(){ var res = ""; $('#table_csrdownloadcenter').find("tbody").find("tr").find("td:nth-child(8)").find("input").each(function(){ // ---^----- ---^---- res = $(this).attr("name"); alert(res); } }); }
您可以使用:
res = $(this).attr("name");
代替:
res = $(this).attr("name").text();
因为$(this).attr("name")
已经为您提供了包含name
属性值的字符串。
text()是一个jQuery方法,只有jQuery对象可以使用该方法,但是$(this).attr("name")
给你一个字符串,所以显然字符串不能应用jQuery方法。
此外,您在选择器周围缺少引号
find(td:nth-child(8))
它应该是
find('td:nth-child(8)')
$("td.dc-checkbox").find("input").each(function(){ alert($(this).attr("name")); });
- 在jQuery中动态创建表
- 使用jQuery选择.eq()的多个元素
- 使用jQuery检索表中的上一行和下一行
- 如何用jQuery拆分表行(在TD之间插入TR)
- 在Html中过滤表行
- 如果行包含空列,请隐藏行
- jqGrid:在将HTML表格转换为网格时启用分页
- HTML表固定顶行没有
- 在某个单元格上按字母顺序将行插入表格
Interesting Posts