亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

顯示文件類型的圖標

顯示文件類型的圖標

叮當貓咪 2023-05-19 15:12:06
我無法為不同的文件類型顯示不同的圖標。我的代碼重復了圖標。有什么幫助嗎?$('document').ready(function() {  var icon;  var arr = $.map($('.link--file'), function(el) {    var ext = $(el).data('f').split('.').pop();    if (ext === 'png') {      img = '<i class="fa fa-circle></i>';      $('.link--file').append(img)    }  });});<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>
查看完整描述

3 回答

?
守著星空守著你

TA貢獻1799條經驗 獲得超8個贊

嘗試這個


<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>


查看完整回答
反對 回復 2023-05-19
?
神不在的星期二

TA貢獻1963條經驗 獲得超6個贊

問題是因為您附加到所有.link--file元素。相反,您需要附加到循環迭代中的特定一個。


此外,您應該使用each()循環遍歷 jQuery 對象中的一組元素,而不是map(). 后者旨在用于從集合構建數組。


最后,您可以通過使用一個對象來存儲您要使用的圖標類名,從而使圖標查找邏輯更具可擴展性。


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>


查看完整回答
反對 回復 2023-05-19
?
鴻蒙傳說

TA貢獻1865條經驗 獲得超7個贊

您可以使用jQuery.each()?來執行此操作。這樣您就可以通過訪問循環中的當前元素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>



查看完整回答
反對 回復 2023-05-19
  • 3 回答
  • 0 關注
  • 204 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號