我正在用
进行迭代function editRow(a) {
$("td").each(function () {
alert($(this).val())
});
}
遍历
$("tbody").append(
"<tr id = '" + trId + "'>" +
"<td name = 'nameRow' id = 'name" + idCt + "' value = 'test' > <strong>" + name + "</strong> </td>" +
"<td name = 'maxRow' id = 'max" + idCt + "' value = '" + max + "'>" + max + "</td>" +
"<td name = 'setRow' id = 'sets" + idCt + "' value = '" + sets + "'>" + sets + "</td>" +
"<td name = 'repRow' id = 'reps" + idCt + "' value = '" + reps + "'>" + reps + "</td>" +
"<td name = 'restRow' id = 'rest" + idCt + "' value = '" + rest + "'>" + rest + "</td>" +
"<td id = 'link" + idCt + "'><a href='#' onclick='return deleteRow(" + trId + ");' >Remove</a>" +
" | <a href='#' onclick='return editRow(" + idCt + ");'>Edit</a></td>" +
"</tr>"
);
alter($(this).val())
出现的时间正确,但它总是空白(未定义))。
我知道它不可读,但是有人看到错误吗?
谢谢!
答案 0 :(得分:0)
问题是“td” - 元素没有值。他们有内在的HMTL。如果你想获得td的内容,你需要使用$(this).html()
function editRow(a) {
$("td").each(function () {
alert($(this).html())
});
}
答案 1 :(得分:0)
.val()
是一种仅为输入元素定义的方法。普通HTML元素没有值。您应该使用.html()
或.text()
来获取这些元素的内容
function editRow(a) {
$("td").each(function () {
alert($(this).text())
});
}
您应该使用<td>
前缀
data-
的值)
<td data-value="whatever">...</td>
然后您可以使用jQuery的.data()
方法来访问这些属性
var tdDataValue = $(this).data('value');
答案 2 :(得分:0)
val
方法通常为input
代码保留。对于td
,您可以执行以下任一操作:
$(this).text();
或
$(this).attr('value');
答案 3 :(得分:0)
只需尝试这样的事情
function editRow(a) {
$("td").each(function () {
alert(this.innerText);// reading inner text
alert($(this).attr('value'));// reading value attribute
});
}