[英]having trouble to pass div ID as function parameter
我想為用戶提供編輯導航欄標題的選項。 因此,當用戶單擊編輯時,我想給他們一個文本字段和一個提交按鈕。
這是代碼(在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作為字符串。傳遞Submit按鈕的id可以很好地工作,但是我不知道如何將對應的div的id傳遞給edit函數。 我該怎么做?
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,我整理了一個小提琴,向您展示它如何工作
希望有幫助!
您可以執行以下操作來更改不同的導航
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
希望這可以幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.