gpt4 book ai didi

javascript - 用正则表达式替换选择索引属性

转载 作者:行者123 更新时间:2023-12-03 06:48:27 24 4
gpt4 key购买 nike

我有以下 DOM:

<select id="evo_calculatorbundle_ruletype_assertions_0_logicalOperator">...</select>
<select id="evo_calculatorbundle_ruletype_assertions_1_logicalOperator">...</select>

使用 JqueryUI Sortable 组件,我正在对这些选择标签进行排序。排序后,#1 选择被放置在 #0 选择之前。我想根据新的 DOM 重新索引这些选择。

这是我的可排序实例:

// Sortable assertions
$collectionHolder.sortable({
placeholder: "ui-state-highlight",
handle: ".handle",
helper: "original",
cursor: "move",
update: function(event, ui) {
var elements = $collectionHolder.find("tr");
var count = elements.length;
console.log(count);

$(elements).each(function(index) {
$(this).data('index', index).attr('data-index', index);

var pattern = '/_[0-9]+_/g';
var replacement = '_' + index + '_';

$(this).find('select').each(function(){
var before = $(this).attr('id');
var after = $(this).attr('id').replace(pattern, replacement);
console.log(before + " " + after);

$(this).attr('id', $(this).attr('id').replace(pattern, replacement));
$(this).css('border', '3px solid black');
});
});
}
});

替换不起作用,console.log(before + ""+ after) 打印以下内容:

evo_calculatorbundle_ruletype_assertions_1_logicalOperator evo_calculatorbundle_ruletype_assertions_1_logicalOperator
evo_calculatorbundle_ruletype_assertions_0_logicalOperator evo_calculatorbundle_ruletype_assertions_0_logicalOperator

我希望

evo_calculatorbundle_ruletype_assertions_1_logicalOperator evo_calculatorbundle_ruletype_assertions_0_logicalOperator
evo_calculatorbundle_ruletype_assertions_0_logicalOperator evo_calculatorbundle_ruletype_assertions_1_logicalOperator

我的 replace javascript 函数有问题吗?或者我的模式是错误的?

最佳答案

javascript中的正则表达式模式是用斜杠括起来的,如果用单引号括起来,它就变成了一个字符串。

用途:

var pattern = /_[0-9]+_/g;

关于javascript - 用正则表达式替换选择索引属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37615191/

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