javascript - 如何用jQuery获取li中隐藏的值?

标签 javascript jquery html

我将文件名存储在隐藏输入的值中,我希望在单击“下载”或“重命名”标签时获取文件名。 比如我点击li的第一个元素Download就得到file1,怎么办?谢谢!

function Download() {
  alert("filename I clicked");
}

HTML

   <ul>
       <li >  <input type="hidden" value="file1" /> <span onclick="Download()">Download</span>   <span onclick="Rename()">Rename</span> </li>
       <li >  <input type="hidden" value="file2" /> <span onclick="Download()">Download</span>   <span onclick="Rename()">Rename</span> </li>
       <li >  <input type="hidden" value="file3" /> <span onclick="Download()">Download</span>   <span onclick="Rename()">Rename</span> </li>
   </ul>

最佳答案

您可以使用jqueryclosest使其通用用于下载重命名 如下。

此外,您还可以通过 jquery 方式摆脱下载函数

$(document).ready(function(){
  $('span.download, span.rename').on('click', function() {
    var span = $(this);
    var fileName = span.closest('li').find('input[type="hidden"]').val();
 
    if(span.is('.download')) {
       // download part
      alert('Download: ' + fileName);
    } else if(span.is('.rename')) {
       // rename part
      alert('Rename: ' + fileName);
    }
  });
});
.download, .rename {
  cursor: pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
       <li >  <input type="hidden" value="file1" /> <span class="download">Download</span>   <span class="rename">Rename</span> </li>
       <li >  <input type="hidden" value="file2" /> <span class="download">Download</span>   <span class="rename">Rename</span> </li>
       <li >  <input type="hidden" value="file3" /> <span class="download">Download</span>   <span class="rename">Rename</span> </li>
   </ul>

关于javascript - 如何用jQuery获取li中隐藏的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40797302/

相关文章:

javascript - 发送变异时出现 GraphQLError

javascript - 如何将对象的属性值提取到数组中并使数组中的元素不同?

javascript - 使用 jquery、javascript 和 html 在单击浏览按钮上显示带有进度条的文本框中的文件上传百分比

javascript - 自己的物理引擎 : Bouncing doesn't stop

jquery - 选择或取消选择父 div 中的复选框

javascript - 将一段javascript代码转换为php

除非使用 turbolinks 和 rails 4 重新加载页面,否则不会执行 javascript

javascript - onmousedown 按钮在 FirefoxOS 应用程序中未触发

javascript - 如果子 div 的数量 > 3,则隐藏其余部分

javascript - 当动态值达到设置限制时如何重置数组的值?