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