【问题标题】:How to match a documentElement ID by finding the documentElement Name?如何通过查找文档元素名称来匹配文档元素 ID?
【发布时间】:2020-08-24 07:59:04
【问题描述】:

因此,在网站上,每次刷新时,特定元素的 ID 都会发生变化,但名称保持不变。我想找到该名称,然后将其与同一文档中的文档 ID 匹配。我正在考虑运行一个循环,但我不知道该怎么做。这是 html 的外观:

<input class="input-text" type="text" data-bind="
    value: value,
    valueUpdate: 'keyup',
    hasFocus: focused,
    attr: {
        name: inputName,
        'aria-describedby': getDescriptionId(),
        'aria-required': required,
        'aria-invalid': error() ? true : 'false',
        id: uid,
        disabled: disabled
    }" name="firstname" aria-required="true" aria-invalid="false" id="N6YFA53">

我想将名称“firstname”与 id 匹配,然后更改它的值,因为每次刷新页面时 id 都会更改。

【问题讨论】:

  • 恐怕你的问题我不是很清楚,你能再澄清一下吗?
  • 请给出您尝试构建的代码的预期输入(HTML)和输出的具体示例。
  • 你想要解决的终极问题是什么?人们痴迷于在所有事情上都使用 ID,而这往往是最难的选择。
  • 您的代码不包含任何 JavaScript 行。此外,这似乎是一些未公开的工具或库的标记(淘汰赛?)
  • 那是 HTML 网站的代码,我有自己的 JS 代码。我通过使用 document.getElementById('N6YFA53') 更改 ID 的值,但每次刷新页面时 ID 都会更改所以我想通过匹配 HTML 名称然后将名称与 ID 匹配来更改 ID 的值包含在 HTML 中

标签: javascript loops dom


【解决方案1】:

您可以根据输入的名称使用querySelector,然后使用id

var first_name_id = document.querySelector("input[name='firstname']").id;

console.log(first_name_id);
<input class="input-text" type="text" data-bind="
    value: value,
    valueUpdate: 'keyup',
    hasFocus: focused,
    attr: {
        name: inputName,
        'aria-describedby': getDescriptionId(),
        'aria-required': required,
        'aria-invalid': error() ? true : 'false',
        id: uid,
        disabled: disabled
    }" name="firstname" aria-required="true" aria-invalid="false" id="N6YFA53">

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-02
    • 1970-01-01
    • 2014-03-28
    • 2019-07-16
    • 1970-01-01
    • 2016-09-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多