用Webbrowser的时候,因为有时候需要更改或者动态设置值,然后有些div或者其它tag没有id,只有class属性,那么就无法获取对象。这里贴一个vc++可用的js函数。便于查找对应的tag&classname。我已经定义成了宏,可以直接拿去测试!
#define JAVA_SCRIPT "
function getElementsByClassName(fatherId,tagName,className){
node = fatherId&&document.getElementById(fatherId) || document;
tagName = tagName || "*";
className = className.split(" ");
var classNameLength = className.length;
for(var i=0,j=classNameLength;i<j;i++){
className[i]= new RegExp("(^|s)" +
className[i].replace(/-/g,"
-") + "(s|$)");
}
var elements = node.getElementsByTagName(tagName);
var result = [];
for(var i=0,j=elements.length,k=0;i<j;i++){
var element = elements[i];
while(className[k++].test(element.className)){
if(k === classNameLength){
result[result.length] = element;
break;
}
}
k = 0;
}
return result;
}
var _cls = getElementsByClassName(document,'div','head_logo');
_cls[0].style.display='none';
"
最后说下,下面的测试代码,查找为标签为div,class为head_logo,然后把它的style属性中的display设置为none,也就是不可见!
var _cls = getElementsByClassName(document,'div','head_logo');
_cls[0].style.display='none';
本文链接:https://it72.com/9422.htm