使用 JavaScript 获取 <h2> 标签的值

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/11311033/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-24 05:24:15  来源:igfitidea点击:

Get the value of an <h2> tag with JavaScript

javascripthtmlhtml-heading

提问by JamEngulfer

I am trying to generate an MD5 check-sum of every element on a page that has the <h2>tag, then display the values as a popup.

我正在尝试为具有该<h2>标记的页面上的每个元素生成 MD5 校验和,然后将这些值显示为弹出窗口。

The code I have already should get each <h2>element, I just need to get the actual value of each one.

我已经拥有的代码应该获取每个<h2>元素,我只需要获取每个元素的实际值。

var ghead = document.getElementsByTagName('h2');

for (i=0; i<ghead.length; i++) {
    var gh = ghead[i];
    var ts = gh.toString();
    var ms = b64_md5(ts);
    alert(ts);
    alert(ms);
}

The usage of b64_md5(ts)basically is what converts the tsvariable into the MD5 value. However, the tsvariable is the ID or name of the Type of Element, not the Element's value itself.

的用法b64_md5(ts)是将ts变量转换成MD5值。但是,ts变量是元素类型的 ID 或名称,而不是元素的值本身。

Also, if I wanted to make a cookie that has two values stored in it, a name and a checksum, could I use gh.innerText;to set the unique name, as I have had issues with using this method so far.

此外,如果我想制作一个存储有两个值的 cookie,一个名称和一个校验和,我可以gh.innerText;用来设置唯一名称,因为到目前为止我在使用这种方法时遇到了问题。

回答by James Allardice

You can use the innerHTMLproperty to get the HTML contents of an element:

您可以使用该innerHTML属性来获取元素的 HTML 内容:

var ts = gh.innerHTML;

Note that h2elements (and most other elements) don't have a "value". Only elements that behave as form controls have a valueproperty (e.g. the inputelement).

请注意,h2元素(和大多数其他元素)没有“值”。只有作为表单控件valueinput元素才有属性(例如元素)。

回答by Torsten Walter

If you want to access the type of an element you can just ask for this:

如果你想访问一个元素的类型,你可以这样要求:

gh.nodeName // contains the name of the node in uppercase e.g. "H2"
gh.nodeType // contains the numerical Type of the node e.g. "1"
gh.id       // contains the value of the node's id attribute
gh.name     // contains the value of the name attribute (typically for form elements)

As mentioned below, accessing the actual node content is a different matter:

如下所述,访问实际节点内容是另一回事:

gh.innerHTML   // contains the full html source within the node
gh.innerText   // (IE only) contains the visible textual content stripped of any html markup
gh.textContent // W3C compliant equivalent of innerText

For cross browser access to the text contents use something like this:

要跨浏览器访问文本内容,请使用以下内容:

var text = gh.innerText || gh.textContent;

回答by Michael Besteck

To get the textual content of a h2 tag element gh:

要获取 h2 标签元素 gh 的文本内容:

var text = gh.childNodes.item(0).data;