我想为用户提供编辑导航栏标题的选项。因此,当用户点击编辑时,我想给他们一个文本字段和一个提交按钮。
这是代码(在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>";
$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>";
如果我进行编辑(this.id,nava),它会在我发出警报时给出对象DivElement消息。
但是我需要div的id作为string.Passing提交按钮的id工作完美,但我无法弄清楚如何传递相应div的id来编辑函数。我该怎么办?
答案 0 :(得分:0)
parentNode
绝对是获取父Div的id的正确方法(不使用像JQuery这样的框架)。您可以在此处详细了解:https://developer.mozilla.org/en/docs/Web/API/Node.parentNode
回到你的例子,你可以简单地编写一个JavaScript edit()函数:
function edit(id) {
var divId = document.getElementById(id).parentNode.id;
console.log(divId);
}
使用您的HTML,我已经为您提供了一个快速的小提示,以展示它是如何工作的
希望有所帮助!
答案 1 :(得分:0)
您可以执行以下操作来更改不同的导航
html
<div id="nav">
<a href="#" id="link1">Link</a>
<input type="text" for="link1" id="newLink" class="changeNav"/>
</div>
jquery的
$(".changeNav").on("change", function(){
var newLink = $(this).val();
var whichNav = $(this).attr("for");
$("#" + whichNav).empty().append(newLink);
});
这是一个JSFIDDLE
希望这有帮助