douyan1972 2014-10-22 00:40
浏览 52
已采纳

无法将div ID作为函数参数传递

I want to give user options to edit title of navigation bar. So, when user would click edit, I want to give them a text field and a submit button.

Here is the code(within PHP block)

$n1="<div  id='nava' class='nav' >
      <a href=#>$nava</a>
      <input type='submit' id='nav1' class='b' onclick='edit(this.id,???)' value='Edit'>
     </div>";
$n2="<div  id='navb' class='nav' >
      <a href=#>$navb</a>
      <input type='submit' id='nav2' class='b' onclick='edit(this.id,???)' value='Edit'>
     </div>";
$n3="<div  id='navc' class='nav' >
      <a href=#>$navc</a>
      <input type='submit' id='nav3' class='b' onclick='edit(this.id,???)' value='Edit'>
     </div>";

if I do edit(this.id,nava),it gives me object DivElement message,when I do alert.

But I need the id of div as string.Passing the id of submit button works perfectly, but I cannot figure out how to pass the id of corresponding div to edit function. How would I do that?

  • 写回答

2条回答 默认 最新

  • donglan8870 2014-10-22 01:01
    关注

    parentNode is definitely the right way to go about getting the parent Div's id (without using a framework like JQuery). You can read more about it here: https://developer.mozilla.org/en/docs/Web/API/Node.parentNode

    Back to your example, you could simply write a JavaScript edit() function like so:

    function edit(id) {
        var divId = document.getElementById(id).parentNode.id;
        console.log(divId);
    }
    

    Using your HTML, I have put together a quick fiddle for you to show how this can work

    http://jsfiddle.net/wj7bch3m/

    Hope that helps!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端