【问题标题】:Extract property of a tag in HTML using Javascript使用Javascript提取HTML中标签的属性
【发布时间】:2014-04-02 01:53:10
【问题描述】:

是否可以使用 Javascript 提取 HTML tag 的属性。 例如,我想知道 <div> 内部存在的值,其中 align = "center"

<div align="center">Hello</div>

我知道的是:

var division=document.querySelectorAll("div");

但它会选择&lt;div&gt; &amp; &lt;/div&gt; 之间的元素,而不是其中的properties

我想在 Greasemonkey 脚本 中使用它,我可以在其中使用Javascript 检查网站中的一些标签的恶意属性

希望我清楚..!!

【问题讨论】:

  • 那么你想让它选择什么? “Hello”,div 元素,或align="center"?
  • 标签属性称为属性。您正在寻找什么样的恶意属性?
  • 我认为这是一个更好的答案:stackoverflow.com/questions/2048720/…

标签: javascript html css tags greasemonkey


【解决方案1】:

您正在寻找getAttribute 函数。可以通过元素访问。

你会这样使用它。

var division = document.querySelectorAll('div')
for(var i=0,length=division.length;i < length;i++)
{
    var element = division[i];
    var alignData = division.getAttribute('align'); //alignData = center
    if(alignData === 'center')
    {
       console.log('Data Found!');
    }      
}

如果您想查看元素上可用的属性,这些属性是可用的

division.attributes

MDN Attributes

例如,在您的示例中,如果您想查看 align 属性是否可用,您可以编写此代码。

//Test to see if attribute exists on element
if(division.attributes.hasOwnProperty('align'))   
{
    //It does!
}

【讨论】:

  • 不应该是var alignData = division[0].getAttribute('align'); //alignData = center 吗?
  • 该死,你是对的。我在想getElementById。不错的收获
  • +1 for you :D 还要注意:我认为他可能有更多的 div...用if(division[i].getAttribute('align') == "center") {//dosomething} 创建一个 for 循环将有助于找到具有该属性的那些。
  • 是的好建议。旁注:我实际上很高兴不将 jQuery 视为此问题的标签之一。
  • @BhavukMathur 我更新了问题,向您展示如何循环查询
【解决方案2】:
var test = document.querySelectorAll('div[align="center"]');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多