2016-11-25 5 views
0

多くのファイルをliタグでリストしていますが、ファイルを削除して名前を変更することができますので、ファイル名をコードに格納します。どこのファイル名をhtmlのliタグに格納できますか?

liはhtml5の値プロパティを持っていません。 html?ありがとう!

<ul> 
    <li value="file1"> 
     <span onclick="Download()">Download</span> 
     <span onclick="Rename()">Rename</span> 
    </li> 
    <li value="file2"> 
     <span onclick="Download()">Download</span> 
     <span onclick="Rename()">Rename</span> 
    </li> 
    <li value="file3"> 
     <span onclick="Download()">Download</span> 
     <span onclick="Rename()">Rename</span> 
    </li> 
</ul> 
+1

「ID」または「データ」タグとして保存します。また、ファイル名を実際のタグの内容に格納する論理的な場所はありませんか?ファイルの名前が見えない場合、どのファイルをダウンロードしたり名前を変更するかを人々はどのように知っていますか? – junkfoodjunkie

答えて

4

使用HTML5のデータ属性は:

<ul > 
     <li data-filename="file1"> <span class ="download">Download</span> <span class="rename">Rename</span> </li> 
     <li data-filename="file2"> <span class ="download">Download</span> <span class="rename">Rename</span> </li> 
     <li data-filename="file3"> <span class ="download">Download</span> <span class="rename">Rename</span> </li> 
    </ul> 

私はまた、HTMLの外とJavaScriptにクリックハンドラを動かすことを示唆しています。これにより、htmlセクションにコードを保存し、より良いコード品質を得ることができます。私は以下のjQueryを使用していますが、これはプレーンなJSでも行うことができます。

$(document).ready(function(){ 
 
    
 
    $('.download').click(function(){ 
 
    var fileName=$(this).parent().attr('data-filename'); 
 
    console.log(fileName); 
 
    //can insert download function here 
 
    }) 
 
    
 
    $('.rename').click(function(){ 
 
    var fileName=$(this).parent().attr('data-filename'); 
 
    console.log(fileName); 
 
    //can insert rename function here 
 
    }) 
 

 
    })
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
    <ul > 
 
      <li data-filename="file1"> <span class ="download">Download</span> <span class="rename">Rename</span> </li> 
 
      <li data-filename="file2"> <span class ="download">Download</span> <span class="rename">Rename</span> </li> 
 
      <li data-filename="file3"> <span class ="download">Download</span> <span class="rename">Rename</span> </li> 
 
     </ul>

+1

_Iは、クリックハンドラをHTMLからjavascriptに移動することもお勧めします。これにより、htmlセクションにコードを保存し、より良いコード品質を提供することができます。私はほぼすべてのSOの質問にこれを示そうとしています。よくやった! – Sukima

+0

ありがとう@すきま:) – gavgrif

0

使用データ-X xは、あなたが保存したいデータです。

<li data-filename="myfilename.jpg"> 
    <span onclick="Download()">Download</span> 
    <span onclick="Rename()">Rename</span> 
</li> 
関連する問題