簡體   English   中英

獲取HTMLDivElement的ID

[英]get id of HTMLDivElement

我在函數中傳遞了HTMLDivElement,如下所示

var tableHTML = "...
<li name="Item2" onclick="onCombToPie2D(\'' + id + '\');" >Pie 2D</li>
....";

$('#graphsDiv').append(tableHTML);

我可以按以下方式訪問該元素

function onCombToPie2D(element) {

    alert($('#element'));


}

但現在我無法訪問此元素的ID。 到目前為止,我已經嘗試了以下方法

alert($('#element').attr('id')); //undefined
alert($('#element').prop('id')); //undefined
alert(element.id); //undefined

在我的viewsource中,存在div(這是劍道圖)

<div id="chartmd2467rt6" data-role="chart" class="k-chart" style="position: relative; touch-action: none;"> ... </div>

試試這個例子:

  function onCombToPie2D(idElemento) { alert($('#'+idElemento).attr('id')); } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <ul> <li name="Item2" onclick="onCombToPie2D('chartmd2467rt6');" >Pie 2D</li> </ul> <div id="chartmd2467rt6" data-role="chart" class="k-chart" style="position: relative; touch-action: none;"> ... </div> 

而不是傳遞HTMLDivElement,而是將其ID傳遞給函數

<li name="Item2" onclick="onCombToPie2D(\'' + id.id + '\');" >Pie 2D</li>

現在在功能

function onCombToPie2D(element) {

    alert('#' + element);

}

這給了我正確的元素

我建議您使用data-attribute而不要傳遞數據作為參數。

 $(document).on('click', 'li', function(){ console.log($(this).data('id')); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <ul> <li name="Item2" data-id="chartmd2467rt6" >Pie 2D</li> <li name="Item2" data-id="chartmd2467ry0" >Line 2D</li> </ul> <div id="chartmd2467rt6" data-role="chart" class="k-chart" style="position: relative; touch-action: none;"> ... </div> 

希望這會幫助你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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