我使用這樣的條件,點擊頁面上的元素:如何查看頁面中的地點?
var findElem = function(elems, text) {
for (var i = 0; i < elems.length; i++) {
if (elems[i].textContent == text) {
return elems[i];
} else {
var result = findElem(elems[i].children, text);
if (result != undefined) {
return result;
}
}
}
return;
}
switch (document.getElementById('my_id').value) {
case "1":
findElem(document.documentElement.children, "blabla1").click();
break;
case "2":
findElem(document.documentElement.children, "blabla2").click();
break;
default:
break;
}
我想多了一個條件添加到該代碼。
頁我的工作是這樣的:
<body id="something">
<div id="something2" class="container">
<div id="header">
<a class="hmm" href="somelink"></a>
<a class="aname" target="_blank" href="anotherlink"></a>
</div>
<div id="anotherthing" class="anotherthing2">
<div class="differentthing " style="left: 2px; ">
<div class="asdafad"></div>
</div>
我要看看如果differentthing
在短期沒有style
我想要做這樣的事情:
switch (document.getElementById('my_id').value) {
case "1":
---if differentthing has no style attrib then---
findElem(document.documentElement.children, "blabla1").click();
break;
所以如果differentthing
頁的部分是這樣的
<div class="differentthing ">
然後做findElem.click
的事情。
如果是<div class="differentthing " style="left: 2px; ">
則什麼也不做。
我希望我能形容。我怎樣才能做到這一點?抱歉我的英文不好。
不幸的是,IE瀏覽器無法正常工作,它的'getAttribute'版本相當破碎:http://jsbin.com/oqukec/2在IE7中失敗(大概是在早些時候),可以在IE8和IE9中使用。 –
getElementsByClassName在IE中也不受支持 - http://caniuse.com/getelementsbyclassname – jbabey
@ T.J。 Crowder我猜這可能是不相關的,因爲greasemonkey標籤 - 讓它在IE中運行是一個單獨的問題:) – Li0liQ