如何获取元素中的数字'的name属性

How to get the digits in an element's name attribute?

本文关键字:数字 属性 name 何获取 获取 元素      更新时间:2023-09-26

我需要从属性name="data[0][post_title]"中获取数值,并将其放入变量

我该怎么做才合适?

我开始是这样的,但不知道如何获得数据的价值

var ele = document.getElementsByTagName('name');

这是整个html标签

<input class="post_title" id="title_0" placeholder="Enter Post Title" name="data[0][post_title]" value="text" type="text">

如果要迭代具有name属性的input元素,请使用选择器input[name]

为了检索属性值方括号中的数字,可以使用表达式/'[('d+)']/进行匹配。例如,name="data[0][post_title]"将返回0

请参见此示例。

var elements = document.querySelectorAll('input[name].post_title');
Array.prototype.forEach.call(elements, function (el) {
    var match = el.name.match(/'[('d+)']/),
        number = match !== null ? match[1] : null;
    console.log(number);
});

好吧,我想我理解你的问题

您正试图访问一个属性并提取一个数字。在这种情况下,您将执行以下操作。

document.getElementsByClassName("post_title")[0].getAttribute("name")
.match(/'d+/);

您的输入元素的类名为post_title。要访问此元素,您需要使用getElementsByClassName。这将返回一个集合,因此要访问特定的元素,需要放置具有该类名的元素的索引。在你的情况下,这是零。

要访问属性,我们使用getAttribute方法。在您的情况下,您希望访问name属性。

要找到一个数字,我们需要搜索一个正则表达式。我们可以使用match函数来实现这一点。正则表达式/'d+/可查找任何数字。

在这里试试这个例子

var number = document.getElementById("number");
var index = document.getElementsByClassName("post_title")[0].getAttribute("name")
    .match(/'d+/);
number.innerHTML = index;
<input class="post_title" id="title_0" placeholder="Enter Post Title" name="data[0][post_title]" value="text" type="text">
<p id="number"></p>