如何获取对我的某个HTML元标记的引用?

时间:2015-08-18 18:09:05

标签: javascript jquery asp.net-mvc

我的ASP.NET MVC视图中有一个这样的元标记:

<meta name = "currentRequestAbsoluteUri" 
 content="@Url.Content(HttpContext.Current.Request.Url.AbsoluteUri)" />

使用JavaScript或jQuery,如何读取此元标记的值?

我可以使用JavaScript来完成它,但它是长卷曲的:

var element = 
document.getElementByName('currentRequestAbsoluteUri');

// And then how do I get its content property
// like this?
// var content = element["content"]

等等,我甚至不确定HTML DOM API是否具有通过其名称获取内容的功能。

我也可以使用jQuery,但jQuery使用sizzle,CSS选择器引擎,我不知道如何获得像meta这样的元素,因为它既没有id也没有CSS类。

2 个答案:

答案 0 :(得分:2)

您可以使用css属性选择器。阅读更多here

您可以使用querySelector在JS中使用css属性选择器。阅读更多here

var meta  = document.querySelector("meta[name='currentRequestAbsoluteUri']");
var value = meta.content;

答案 1 :(得分:1)

您可以使用document.getElementsByTagName()。它返回一个类似于数组的HTMLCollection,它包含DOM中的所有元标记。然后,您可以遍历它以获取对元标记的引用。每个项目

var metaTags = document.getElementsByTagName('meta');
var metaTagsArray = Array.prototype.slice.call(metaTags);

metaTagsArray.forEach(function(metaTag){
  var metaTagName = metaTag.name;
  var metaTagContent = metaTag.content;
});

您可以选择使用slice将其转换为数组,以访问本机数组方法,例如forEach