[英]how to get query selector data attribute in javascript?
我有一個自定義 JS 函數,它在加載時創建/注入一個自定義鏈接到頁面中的所有元素。
操作前:
<div class="myimagediv">
<img class="img-tag" src="#" data-src="alternative content I need" alt="">
</div>
現在這個自定義函數操作元素:
[].forEach.call(document.querySelectorAll('.myimagediv'), function(elem) {
old_html = elem.innerHTML;
new_html = '<a class="customlink" href="' + elem.querySelector('img').src + '">' + old_html + '</a>';
elem.innerHTML = new_html;
});
新操作元素:
<div class="myimagediv">
<a class="customlink" href="this should be the content of my data-src" title="">
<img class="img-tag" src="#" data-src="alternative content I need" alt="">
</a>
</div>
如何從 IMG 標簽中獲取 data-src 屬性並將其注入到我新創建的自定義鏈接函數中?
我應該使用 var 嗎? 然后調用它,但我無法掌握如何讀取 data-src 並重新使用它。
任何幫助將不勝感激。
只需使用圖像元素的getAttribute
方法:
var dataSrc = elem.querySelector('img').getAttribute('data-src');
示例 - 如何在 vanilla JS 中讀取 data-* attrs:
var elm = document.querySelector('any-tag') var first = elm.dataset.whatever var second = elm.dataset.somethingElse // camel case for multi-word console.log(first, second)
<any-tag data-whatever="value1" data-something-else="value2" />
document.querySelectorAll()
示例:
document.querySelectorAll('.className').forEach(elem => console.log(elem.getAttribute('interesting-attribute')));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.