3 回答

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超8個(gè)贊
嘗試這個(gè)
<div>
<a href="#" data-f="2134.png" class="link link--file">filename1.png</a>
<a href="#" data-f="432543.png" class="link link--file">filename2.png</a>
<a href="#" data-f="345.pdf" class="link link--file">filename2.pdf</a>
<a href="#" data-f="54445.jpg" class="link link--file">filename1.jpg</a>
</div>
<script>
var link = document.getElementsByClassName('link');
for(let el of link )
{
console.log(el.innerHTML.split('.')[1]);
}
</script>

TA貢獻(xiàn)1963條經(jīng)驗(yàn) 獲得超6個(gè)贊
問(wèn)題是因?yàn)槟郊拥剿?link--file元素。相反,您需要附加到循環(huán)迭代中的特定一個(gè)。
此外,您應(yīng)該使用each()循環(huán)遍歷 jQuery 對(duì)象中的一組元素,而不是map(). 后者旨在用于從集合構(gòu)建數(shù)組。
最后,您可以通過(guò)使用一個(gè)對(duì)象來(lái)存儲(chǔ)您要使用的圖標(biāo)類名,從而使圖標(biāo)查找邏輯更具可擴(kuò)展性。
let iconLookup = {
png: 'fa-circle',
pdf: 'fa-square-o',
jpg: 'fa-circle-o'
}
jQuery($ => {
$('.link--file').each((i, el) => {
let $link = $(el);
let ext = $link.data('f').split('.').pop();
if (iconLookup.hasOwnProperty(ext)) {
$link.append(`<i class="fa ${iconLookup[ext]}"></i>`);
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous">
<div>
<a href="#" data-f="2134.png" class="link link--file">filename1.png</a>
<a href="#" data-f="432543.png" class="link link--file">filename2.png</a>
<a href="#" data-f="345.pdf" class="link link--file">filename2.pdf</a>
<a href="#" data-f="54445.jpg" class="link link--file">filename1.jpg</a>
</div>

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊
您可以使用jQuery.each()
?來(lái)執(zhí)行此操作。這樣您就可以通過(guò)訪問(wèn)循環(huán)中的當(dāng)前元素this
。
$('document').ready(function() {
? $('div .link--file').each(function() {
? ? if(this.dataset.f.includes('.png')) {
? ? ?$(this).append('<i class="fa fa-circle"></i>')
? ? }
? });
});
<link rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
? ?<a href="#" data-f="2134.png" class="link link--file">filename1.png</a>
? ?<a href="#" data-f="432543.png" class="link link--file">filename2.png</a>
? ?<a href="#" data-f="345.pdf" class="link link--file">filename2.pdf</a>
? ?<a href="#" data-f="54445.jpg" class="link link--file">filename1.jpg</a>
</div>
添加回答
舉報(bào)