Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Replace()仅适用于一个代码联合配置_Javascript_Jquery - Fatal编程技术网

Javascript Replace()仅适用于一个代码联合配置

Javascript Replace()仅适用于一个代码联合配置,javascript,jquery,Javascript,Jquery,我有一段代码复制了一个,但在这个过程中更改了id。花了几个小时,但我最终还是做到了: var lookFor = 'url' + parseInt(uploadCount); ++uploadCount; //used to create a unique id var replaceWith = 'url'+parseInt(uploadCount); var regex = new RegExp(lookFor, 'g'); var tableHTML = '<table class=

我有一段代码复制了一个
,但在这个过程中更改了id。花了几个小时,但我最终还是做到了:

var lookFor = 'url' + parseInt(uploadCount);
++uploadCount; //used to create a unique id
var replaceWith = 'url'+parseInt(uploadCount);
var regex = new RegExp(lookFor, 'g');
var tableHTML = '<table class="user-url-table" style="opacity:0;" id="url' + uploadCount + '">' + $('table.user-url-table').first().html().replace(regex, replaceWith) + '</table>';
$(tableHTML).insertAfter($('table.user-url-table').last());
var lookFor='url'+parseInt(上传计数);
++上载计数//用于创建唯一的id
var replaceWith='url'+parseInt(上传计数);
var regex=new RegExp(查找'g');
var tableHTML='+$('table.user url table').first().html().replace(regex,replaceWith)+';
$(tableHTML).insertAfter($('table.user url table').last());
但是,以下操作不起作用:

var lookFor = 'url' + parseInt(uploadCount);
var tableHTML = '<table class="user-url-table" style="opacity:0;" id="url' + uploadCount + '">' + $('table.user-url-table').first().html() + '</table>';
++uploadCount;
var replaceWith = 'url'+parseInt(uploadCount);
var regex = new RegExp(lookFor, 'g');
tableHTML = $('table.user-url-table').first().html().replace(regex, replaceWith);
var lookFor='url'+parseInt(上传计数);
var tableHTML='+$('table.user url table').first().html()+';
++上载计数;
var replaceWith='url'+parseInt(上传计数);
var regex=new RegExp(查找'g');
tableHTML=$('table.user url table').first().html().replace(regex,replaceWith);

但是他们不应该做完全相同的工作吗。。。。?第一段代码肯定只在一行中完成所有操作,而第二段代码形成
,然后更改其中id的所有实例。

第二段代码有两个错误。首先,当您执行
tableHTML=$('table.user url table').First().html().replace(regex,replaceWith)时在最后一行,您放弃了您所做的准备。您可以覆盖
tableHTML
的值

第二个错误是结果没有附加到文档中,就像第一个代码中的insertAfter所做的那样

要使if起作用,请将最后一行替换为
$('table.user url table')。这将在第一个表之后插入带有替换id的tableHTML

做同样事情的另一种更简单的方法是:

var firstTable = $("#url1 tbody").html();
var result = "";
for (i = 2; i < 10; i++) {
    result += '<table class="user-url-table" style="opacity:0.2;" id="url'
              + i + '">' + firstTable.replace("url1", "url" + i) + '</table>';
}
$("#url1").after(result);
var firstTable=$(“#url1 tbody”).html();
var结果=”;
对于(i=2;i<10;i++){
结果+=''+firstTable.replace(“url1”,“url”+i)+'';
}
$(“#url1”)。在(结果)之后;

Fiddle:

你能设置一个演示来展示其中一张桌子的样子吗?看来你让这件事变得更难了。其思想是,用户输入一个url,textarea上的
blur()
事件对php脚本进行ajax调用,该脚本根据url或url是否有效来更新页面上的元素,这就是使用唯一id的地方。页面上有一个加号图标,允许用户添加更多url条目,正是这个图标调用了上述代码。我使用表格只是为了格式化。为什么在多个元素上有相同的ID?
。url指示符是一个ID?我不知道你到底想干什么。。你知道你可以使用
$('item').attr('id','newIdHere')
对吗
newItem=$('item').clone()
首先复制。。如果您发布了一个前后HTML示例,我相信有人可以提供和您的问题无关的帮助,但在将
uploadCount
连接到字符串上时,应该不需要
parseInt
,它将立即强制返回到字符串。我假设它已经是一个数字了,因为您正在
++
无误地处理它。因此,
'url+parseInt(uploadCount)
不必要地获取一个数字,将其转换为字符串,然后将字符串解析为整数,然后将该数字转换回字符串。另外,当使用
parseInt
时。谢谢ariel和大家。我的代码中的学生错误。我责备咖啡因太多。