我正在尝试更改div元素的HTML,以简单地重新编号行。 我似乎无法抓住具有{{1}}值的子元素。 如何使用jQuery正确完成?
class="Col1"
最终的jQuery解决方案:
function reorderTimeRowDisplayNumbers() {
var elementsDisplayVisible = $(".schedTable").filter(':visible');
if (elementsDisplayVisible.length > 0) {
for (i = 1; i <= elementsDisplayVisible.length; i++) {
var elementDisplayVisibleID = elementsDisplayVisible[i - 1].id;
var myInt = parseInt(elementDisplayVisibleID.match(/[0-9]+/)[0], 10);
alert(myInt);
// update child div innerHTML
if (myInt != i) {
var divEl = document.getElementById(elementDisplayVisibleID);
alert(divEl);
$('#' + divEl + ' > .Col1').html(i -1);
}
}
}
}
答案 0 :(得分:3)
您正尝试将 DOM元素转换为字符串,并在选择器中使用它。那不行。您可以使用one of the many traversal methods jQuery优惠:
$(divEl).children('.Col1')
这是一个更简洁的代码版本:
function reorderTimeRowDisplayNumbers() {
$('.schedTable:visible').each(function(index) {
if (Number(this.id.match(/[0-9]+/)[0]) !== (index + 1)) {
$(this).children('.Col1').html(index);
}
});
}
答案 1 :(得分:3)
您已经拥有了 ID 所需的插件。你其实想写:
$('#' + elementDisplayVisibleID + ' > .Col1')