gpt4 book ai didi

javascript - jQuery 更改所有下一个元素的文本

转载 作者:行者123 更新时间:2023-11-28 19:16:06 25 4
gpt4 key购买 nike

我想获取所有下一个特定类元素并更改它们的文本。具体来说是条目的编号,因为我发出了一个 ajax 请求来删除数据表中的记录,并且我不想重新加载页面。

首先,我获取实际的条目编号,以了解应替换哪个文本(或条目编号)(for 循环)

$entryHeadContent = $this.closest('.entry').find('.entry-head').text();
$entryID = parseInt($entryHeadContent.split('|')[0].replace(/ /g,''));

然后我想遍历所有下一个条目头来更改实际条目编号(将编号减少 1)。

alert($this.nextAll('.entry-head').length); // Is 0

$this.nextAll('.entry-head').each(function(index){
alert($this.nextAll('.entry-head').length);
for (i = entryID; i <= $this.nextAll('.entry-head').length; i++) {
index.text().replace(i, (i -1))
alert('Index: ' + index + ' | ');
}
});

但不知何故,该代码似乎没有被执行,但我不明白。为什么? $这是表格(测试)。我仍在 ajax 请求中(在 ajax 请求的 .done 部分中。

这是条目 html(tpl) 文件,对于一个条目:

<div class="entry">
<div class="entry-head">
#{$entryNumber} |
Name: {$entry.name}
....
</div>
<div class="entry-content">
{$entry.message}
<form action="index.php?site=entry" class="test" method="post">
<div class="entry-options">
<input type="submit" value="Edit" name="edit">
<input type="submit" value="Delete" onclick="return confirm('Are you sure you want to delete this entry?');" name="delete">

<input type="hidden" value="{$entry.id}" name="entryID">
</div>
</form>
</div>
</div>

最佳答案

您的代码:

$this.nextAll('.entry-head').each(function(index){
alert($this.nextAll('.entry-head').length);
for (i = entryID; i <= $this.nextAll('.entry-head').length; i++) {
index.text().replace(i, (i -1))
alert('Index: ' + index + ' | ');
}
});

您这样做 index.text(); 不觉得很奇怪吗?看到索引只是一个数字而不是 jquery 对象。 .each() 回调中还带有第二个参数。 函数(索引、值){}

$this.nextAll('.entry-head').each(function(index, value){
alert($this.nextAll('.entry-head').length);
for (i = entryID; i <= $this.nextAll('.entry-head').length; i++) {
$(value).text().replace(i, (i -1))
alert('Actual Index: ' + index + ' | ');
}
});

我认为这样会更好吗?

更新:

我做了一个demo部分工作。在我继续之前,请告诉我我是否与你志同道合。

更新:

窃听--> demo2

已修复 --> Demo3

   $('.test').on('submit', function (e) {
e.preventDefault();

var $this = $(this);
var $this2 = $this.closest('.entry').find('.entry-head');
var $entryID = parseInt($this2.text().split('|')[0].replace(/ /g,''));
alert($entryID);
var $entries = $('.entry-head').not($this2).filter(function(){
return parseInt($(this).text().split('|')[0].replace(/ /g, '')) > $entryID;
}); // Is 0

$entries.each(function (index, value) {
var id = $entryID + index + 1;
$(value).text($(value).text().replace(id, (id-1)));
console.log('Index: ' + index + ' | ' + $entryID);
});
});

关于javascript - jQuery 更改所有下一个元素的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29799915/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com