如何获得家长';s儿童';javascript中的s值

如何获得家长';s儿童';javascript中的s值,javascript,Javascript,当我点击“下载”字时,我想得到一个标签的值,它是bullet01.png 我搜索了parent()->child(),sibbines(),但对我无效 我需要使用onclick函数。因为jquery在我的代码中不起作用,但当我在onclick内部使用时,它就起作用了 所以我用这个 onclick=“下载单击(文件列表0)” 有更多的tr标签和更多的td id值 我用javascript列出了这个列表 我将此功能设置为window.onload function showOk() { $.aj

当我点击“下载”字时,我想得到一个标签的值,它是bullet01.png

我搜索了parent()->child(),sibbines(),但对我无效

我需要使用onclick函数。因为jquery在我的代码中不起作用,但当我在onclick内部使用时,它就起作用了

所以我用这个

onclick=“下载单击(文件列表0)”

有更多的tr标签和更多的td id值

我用javascript列出了这个列表

我将此功能设置为window.onload

function showOk() {
  $.ajax({
    url: 'http://localhost:8090/curriculum1.4/login_controller.jspx?cmd=fileList',
    type: 'get',
    dataType: 'json',
    success: function(resp) {

      var obj = JSON.parse(resp.file.result);

      var list4;
      var a4;
      var node;
      var element;

      for (i = 0; i < Object.keys(obj.univ).length; i++) {
      //  console.log(obj.univ[i].file);
        list4 = document.createElement("li");
        a4 = document.createElement("a");
        node = document.createTextNode(obj.univ[i].file);
        a4.setAttribute('href', obj.univ[i].file);
        list4.appendChild(a4);
        a4.appendChild(node);

                var num=i;
                var inte='fileList'+num;
                console.log(inte);

                element = document.getElementById(inte);
        element.appendChild(list4);

      }

    },
    error: function(xhr, status, error) {
      alert("오류입니다.");
    }
  });
}
js日志

这是一个简单的.html文件

    <table width="500" cellpadding="0" cellspacing="0" border="1" class="blueone">

        <tr>
          <td><input type="checkbox" id="a2" name="전체동의" /></td>
          <td id="fileList0" class="selected">
            <li>
              <a href="bullet01.png">bullet01.png</a>
            </li>
          </td>
          <td><a class="checkBtn" onclick="downloadClick(fileList0)">download</a></td>
        </tr>
  <tr>
      <td><input type="checkbox" id="a3" name="전체동의" /></td>
          <td id="fileList1">
                <li>
                  <a href="bullet011.png">bullet011.png</a>
                </li>
      </td>
      <td><a class="checkBtn" onclick="downloadClick()">다운로드</a></td>
    </tr>
    <tr>
      <td><input type="checkbox" id="a4" name="전체동의" /></td>
      <td id="fileList2"></td>
      <td><a class="checkBtn" onclick="downloadClick()">다운로드</a></td>
    </tr>
    <tr>
      <td><input type="checkbox" id="a5" name="전체동의" /></td>
      <td id="fileList3"></td>
      <td><a class="checkBtn" onclick="downloadClick()">다운로드</a></td>
    </tr>
      </table>

  • 다운로드 다운로드 다운로드
    实现这一点有多种方法-一种方法是将保留的
    事件
    对象添加到
    下载单击()
    绑定和方法签名:

    HTML

    <a class="checkBtn" onclick="downloadClick(event, fileList0)">download</a>
    
    这样做可以方便地确定用户当前单击“来自”的元素(即通过
    事件
    对象
    当前目标
    字段)。从那里,您可以通过
    parentElement
    querySelector
    (如下所述)遍历DOM,以找到并提取所需的
    href
    数据:

    /*
    将事件参数添加到函数中,允许我们
    确定正在单击的当前元素
    */
    函数下载单击(事件,val){
    /*
    通过parentElement字段遍历树。我已经
    为了清晰起见,将其分解为多个步骤
    */
    var a=event.currentTarget;
    var td=a.parentElement;
    var tr=td.parentElement;
    /*
    具有与要访问的DOM匹配的选择器的用户querySelector
    包含要提取的数据的锚元素
    */
    var id=tr.querySelector('td li a').getAttribute('href');
    console.log(id);
    }
    
    
  • 下载
    获取id为
    fileList0
    具有子元素
    a
    的元素,然后获取该元素的文本内容

    函数下载点击(){
    const value=document.querySelector('#fileList0 a').textContent;
    console.log(值);
    }
    
    
  • 下载
    “因为jquery在我的代码中不起作用,但当我在onclick内部使用时,它就起作用了。”

    听起来像是包含了jquery,但它不起作用

    这是因为DOM元素是动态加载的。不能在事件存在之前将其绑定到元素

    但是,您可以将元素绑定到HTML的
    正文
    ,然后筛选元素:

    $(“body”)。在(“单击“,”.checkBtn”,函数()上{
    var id=$(this.closest(“tr”).find(“.selected li a”).attr(“href”);
    console.log(id);
    });
    
    
    
  • 下载
    < /代码> @ DACReNDENY的答案肯定更可靠/灵活/不易碎>强>如果< /强>您没有父元素的ID,那么我会考虑实际删除ID,并用一个公共类替换,然后实现他的解决方案。 但是…

    如果已经有了id,那么从目标元素遍历DOM是毫无意义的,因为文档中应该只有一个id为该id的元素。如果ID在那里,那么您可以使用

    函数下载点击(id){
    var parent=document.getElementById(id);
    links=parent.querySelectorAll(“li:n类型(1)a:n类型(1)”,
    firstHref=links[0].href;
    返回firstHref;
    }
    
    
  • 下载
    <a class="checkBtn" onclick="downloadClick(event, fileList0)">download</a>
    
    function downloadClick(event, val) {