我需要一些跨度不具有唯一ID的innerHTML但他們確實有獨特的類如何通過類名來定位跨度?
我要像做var1 = document.getElementByCLASSNAME('')
編輯:
我不能使用Jquery,我甚至不能給元素提供者ID。說來話長
我需要一些跨度不具有唯一ID的innerHTML但他們確實有獨特的類如何通過類名來定位跨度?
我要像做var1 = document.getElementByCLASSNAME('')
編輯:
我不能使用Jquery,我甚至不能給元素提供者ID。說來話長
document.getElementsByClassName = function(className)
{
var hasClassName = new RegExp("(?:^|\\s)" + className + "(?:$|\\s)");
var allElements = document.getElementsByTagName("*");
var results = [];
var element;
for (var i = 0; (element = allElements[i]) != null; i++) {
var elementClass = element.className;
if (elementClass && elementClass.indexOf(className) != -1
&& hasClassName.test(elementClass))
results.push(element);
}
return results;
}
基於這個職位上devshed:Get all elements of class 'abc'
有一個getElementsByClassName
法(主要瀏覽器的最新版本支持),返回與指定類的所有元素的列表。當然,許多用戶仍然使用舊版瀏覽器,因此更簡單的解決方案是使用jQuery等庫,並選擇帶有$('.someclass')
的元素。
使用getElementsByClassName可能會導致IE版本出現問題。 querySelectorAll應該更廣泛地兼容。即document.querySelectorAll('。my-class')或document.querySelectorAll('div.my-class')
@hunter - 爲什麼不是最簡單的方法?爲什麼不jQuery? – 2011-04-18 17:19:24
@Naveed Ahmad,提問者指定JS不是jQuery。 – 2011-04-18 17:20:31
@Naveed - 這個問題被標記爲'javascript'而不是'jQuery' – hunter 2011-04-18 17:20:33