Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.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 如何仅返回ID中的数字?_Javascript_Jquery - Fatal编程技术网

Javascript 如何仅返回ID中的数字?

Javascript 如何仅返回ID中的数字?,javascript,jquery,Javascript,Jquery,我根据用户输入动态创建元素,并校正与元素ID相关的计数。(基本上,每次用户添加元素时,ID都是element1、element2等 我有一个元素的事件监听器,当它被单击时,我只想在变量中存储元素的编号 这是我目前正在尝试的,但返回“NaN”: var id = parseInt($(this).attr('id'), 10); 如果这有助于您理解,那么以下是创建元素的方式: $("<div />") .attr("id", "input" + listCount + "co

我根据用户输入动态创建元素,并校正与元素ID相关的计数。(基本上,每次用户添加元素时,ID都是element1、element2等

我有一个元素的事件监听器,当它被单击时,我只想在变量中存储元素的编号

这是我目前正在尝试的,但返回“NaN”:

var id = parseInt($(this).attr('id'), 10);
如果这有助于您理解,那么以下是创建元素的方式:

$("<div />")
    .attr("id", "input" + listCount + "container")
    .attr("class", "inputContainer")
    .appendTo("#checkboxContainer");
$(“”)
.attr(“id”、“输入”+列表计数+“容器”)
.attr(“类”、“输入容器”)
.appendTo(“checkboxContainer”);

您需要
parseInt($(this).attr('id')。replace(/[^\d]/g',),10)
您可以始终使用数据属性来存储和检索数字

$("<div />")
.attr("id", "input" + listCount + "container")
.attr("class", "inputContainer")
.data("index", listCount)
.appendTo("#checkboxContainer");
$(“”)
.attr(“id”、“输入”+列表计数+“容器”)
.attr(“类”、“输入容器”)
.数据(“索引”,列表计数)
.appendTo(“checkboxContainer”);

您可以使用$(“div”).data(“index”)检索该值。您可以在此处找到更多信息:

我建议不要使用ID对信息进行编码。相反,添加一个
data-
属性以包含该信息。例如,使用
.attr('data-index',listCount)
然后使用
$(this.attr('data-index'))
将其拉出。
$(this.attr('id')==“input”+listCount+“container”
这显然不是一个数字,您期望得到什么?可能重复的
var id=parseInt($(this.attr('id')。替换(/[^0-9]/g',),10);
谢谢,将接受shorty:)我实际上并不需要parseInt,我只是误解了这个函数的作用。我想它会把任何带数字的字符串变成数字