【问题标题】:How to find the id of user specified html tags in pure javascript如何在纯javascript中找到用户指定的html标签的id
【发布时间】:2016-09-09 04:12:29
【问题描述】:

我正在尝试查找用户指定的 html 标记的 ID。例如,用户可以输入:
<p id="HiImATag"></p> 或者他们可以输入具有任何其他 ID 的任何其他标签。我需要一种方法来在纯javascript中找到特定html标签的id(例如从<li><p>标签获取id而不知道id);但是,如果不可能,我可以使用 JQuery。提前谢谢!

【问题讨论】:

  • 用户输入的位置:

    ?
  • 到目前为止你尝试了什么?
  • 您能展示一下您尝试实现的目标以及您面临的挑战吗?
  • @TheOneandOnlyChemistryBlob 我尝试过使用正则表达式,但它非常有问题,并且只能找到 id。
  • @nyedidikeke 与上述消息相同。

标签: javascript html


【解决方案1】:

Array.prototype.forEach.call(document.querySelectorAll("p"), function(el) {
  alert(el.id);
});
<p id="hello"></p>
<p id="world"></p>
<p id="foo"></p>

【讨论】:

  • 这救了我的命!非常感谢!
  • @bismuthboss 当然,不要忘记投票或接受可以解决您问题的答案。
【解决方案2】:
document.getElementsByTagName("p")[0].id;

'0'是出现的索引。

https://jsfiddle.net/bhv627pe/

【讨论】:

  • 我试过这个:alert(document.getElementsByTagName("p")[0].id); 当我有几个带有 id 的 p 标签时,它会发出警报并显示空结果
  • 在 jsfiddle 上运行良好。请检查您是否使用了正确的索引。
【解决方案3】:

使用纯 javascript,您可以创建一个临时 DOM 元素,将字符串添加为其innerHTML,获取第一个子元素(这将是从字符串创建的元素),并获取其id。借自Niet the Dark Absol的回答here

var userElement = '<p id="HiImATag"></p>';
var d = document.createElement('div');
d.innerHTML = userElement;
var element = d.firstChild;
var id = element.id;

你提到你可以使用 jQuery。另一种方法是使用字符串创建一个 jQuery 对象并从该对象中获取 id 属性。

var userElement = '<p id="HiImATag"></p>';
var id = $(userElement).attr('id');
console.log(id); // prints out HiImATag

【讨论】:

  • @bismuthboss 请注意,此答案基于用户正在将字符串输入文本框或其他内容的假设,因为您在上面的评论中提到尝试使用正则表达式。
猜你喜欢
  • 2018-12-11
  • 1970-01-01
  • 1970-01-01
  • 2021-11-17
  • 2013-04-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-24
  • 1970-01-01
相关资源
最近更新 更多