我的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类。
答案 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
。