VC++与JavaScript交互getElementsByClassName函数实现

Home / C++ MrLee 2016-6-1 2718

用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://www.it72.com/9422.htm

推荐阅读
最新回复 (0)
返回