我一直在使用.getAttribute方法,今天了解到了.dataset方法,因此想知道它们之间的区别以及应该在何时使用每个方法。
以下是一个例子。假设我们有一个段落:
<p class="test" data-something="this is a test">some text</p>
如果我们使用 .getAttribute 方法
let testText = document.querySelector('.test');
let testGetAttribute = testText.getAttribute('data-something');
console.log(testGetAttribute);
我们得到的输出是“this is a test”。如果我们使用.dataset。
let testText = document.querySelector('.test');
let testDataset = testText.dataset.something;
console.log(testDataset);
我們還可以得到 "this is a test" 。那麼,這兩種方法之間有什麼區別嗎?使用其中一種方法是否有一些好處?謝謝!
element.getAttribute(data-whatever)
。 - RobGdataset
比较新,在当前浏览器中工作,并且使代码更易读,但是如果您处理大量的data
属性,则速度比getAttribute
慢,虽然对于较小的情况,dataset
的速度差异可以忽略不计。请参见https://jsperf.com/getattribute-vs-dataset。 - Dave Everitt