Javascript 无法将div ID作为函数参数传递
我想为用户提供编辑导航栏标题的选项。所以,当用户单击编辑时,我想给他们一个文本字段和一个提交按钮 下面是PHP块中的代码Javascript 无法将div ID作为函数参数传递,javascript,php,html,Javascript,Php,Html,我想为用户提供编辑导航栏标题的选项。所以,当用户单击编辑时,我想给他们一个文本字段和一个提交按钮 下面是PHP块中的代码 $n1="<div id='nava' class='nav' > <a href=#>$nava</a> <input type='submit' id='nav1' class='b' onclick='edit(this.id,???)' value='Edit'> </div&g
$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>";
如果我执行editthis.id,nava,当我发出警报时,它会给我object DivElement消息
但是我需要div的id作为字符串。传递submit按钮的id非常有效,但是我不知道如何将相应div的id传递给edit函数。我该怎么做 parentNode绝对是获取父Div id的正确方法,而无需使用JQuery之类的框架。您可以在此处阅读更多信息:
回到您的示例,您可以简单地编写如下JavaScript编辑函数:
function edit(id) {
var divId = document.getElementById(id).parentNode.id;
console.log(divId);
}
使用您的HTML,我为您准备了一个快速提琴,向您展示这是如何工作的
希望有帮助 您可以这样做来更改不同的导航 html 这是一个
希望这有帮助可能是this.parentElement | this.parentNode.ideditthis.id,'nava'?不,我以前试过。不工作。当我发出警报时,它会给我对象DivElement消息。但我需要div的id作为string@KingKing你能解释一下如何在我的案例中使用这个吗?我不知道parentNode
<div id="nav">
<a href="#" id="link1">Link</a>
<input type="text" for="link1" id="newLink" class="changeNav"/>
</div>
$(".changeNav").on("change", function(){
var newLink = $(this).val();
var whichNav = $(this).attr("for");
$("#" + whichNav).empty().append(newLink);
});