Javascript HTML解析/检查特定标记的特定属性的特定值
如何使用JavaScript检查网页是否有以下内容:Javascript HTML解析/检查特定标记的特定属性的特定值,javascript,jquery,html,html-parsing,zooming,Javascript,Jquery,Html,Html Parsing,Zooming,如何使用JavaScript检查网页是否有以下内容: <meta name="viewport" content="width=device-width, initial-scale=1.0 maximum-scale=1, user-scalable=no" /> <meta name="viewport" content="initial-scale=1.0 maximum-scale=1" /> <meta name="viewport" content=
<meta name="viewport" content="width=device-width, initial-scale=1.0 maximum-scale=1, user-scalable=no" />
<meta name="viewport" content="initial-scale=1.0 maximum-scale=1" />
<meta name="viewport" content="maximum-scale=1" />
<meta name="viewport" content="maximum-scale=1.0" />
<meta name="viewport" content="user-scalable=no" />
如果其中任何一个在源代码中,那么运行特定的JavaScript代码,就像在if条件套件中一样
基本上,我想做的是检查放大是否被禁用,如果是,执行某些代码,如果不是,则执行其他代码。您可以使用
function readViewportValues(){
var metas = $('meta[name=viewport]');
var properties = {};
function isNumber(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
}
function readItem(index, text) {
var parts = jQuery.trim(text).split(' ');
console.log(parts);
if (parts.length > 1) {
$.each(parts, readItem);
} else {
parts = parts[0].split('=');
var key = jQuery.trim(parts[0]),
value = parts[1];
value = isNumber(value) ? parseFloat(value) : value;
properties[key] = value;
}
}
metas.each(function () {
var content = $(this).attr('content').split(',');
$.each(content, readItem);
});
return properties;
}
// usage
var viewport = readViewportValues();
if (viewport['maximum-scale'] === 1){
// do something
}
这将返回一个具有找到的属性的对象,您可以查询它。var nodes=$('meta[name=viewport]')$(nodes).each(函数(索引,nodeValue){var content=$(nodeValue).attr('content');//在此处检查nodeValue})@VijayPatel谢谢。@VijayPatel你能解释一下如何在答案中检查索引中每个元素的nodeValue吗?@Irfan请检查我的帖子
var nodes = $('meta[name=viewport]');
$(nodes).each(function(index, nodeValue){
var content = $(nodeValue).attr('content');// check nodeValue here
// You will get values of content from each meta element here in content variable ex. "user-scalable=no"
// so now based on these values you can so do any processing you want
});