簡體   English   中英

無法將div ID作為功能參數傳遞

[英]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,我整理了一個小提琴,向您展示它如何工作

http://jsfiddle.net/wj7bch3m/

希望有幫助!

您可以執行以下操作來更改不同的導航

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM