2
我試圖通過類名獲得元素,並且在IE 9 +中,我可以在IE 8 document.querySelectorAll工作時使用document.getElementsByClassName。如何在IE 7和6中通過類名獲取元素
上述2個功能不可用在IE 7和我想要在這裏使用getElementsByClassName() doesn't work in old Internet Explorers like IE6, IE7, IE8
下面提供了加波的答案的想法是我想要`
function getElementsByClassNameBackwardCompatability(className) {
if (document.getElementsByClassName) {
return document.getElementsByClassName(className);//EI 9+
} else if (document.querySelectorAll(className)) {
return document.querySelectorAll(className);//EI 8
} else { // IE7 - (not working)
var d = document, element, pattern;
pattern = ".//*[contains(concat(' ',@@class, ' '), ' " + className + " ')]";
element = d.evaluate(pattern, d, null, 0, null);
return element;
}
}`
代碼
它拋出錯誤「JavaScript runtime error: Could not complete the operation due to error 80020101.
」在IE 7
及以下的是我如何使用功能
var ddlone = getElementsByClassNameBackwardCompatability(".myClass");
$(ddlone).dropdownchecklist("destroy");
$(ddlone).dropdownchecklist({ icon: {}, closeRadioOnClick: true, maxDropHeight: 150});
$(getElementsByClassNameBackwardCompatability(".myDateClass")).each(function() {
$(this).datepicker({
dateFormat: 'dd/mm/yy',
showButtonPanel: true,
changeMonth: true,
changeYear: true,
defaultDate: new Date(),
});});
任何一個我怎麼能得到這個工作在IE 7?
爲什麼你需要抓住那隻老貓? –
這裏的大貓有他們的機器上的IE 11,但他們運行它的文檔模式7:=) – StackTrace
然後告訴老虎不要切換瘋狂的貓。 –