获取HTMLDivElement的id

时间:2017-09-14 01:51:30

标签: javascript jquery html dom

我在函数中传递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

在我的观察源中,div存在(这是一个剑道图表)

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

3 个答案:

答案 0 :(得分:4)

试试这个样本:

&#13;
&#13;
    function onCombToPie2D(idElemento) {

       alert($('#'+idElemento).attr('id'));

    }
&#13;
<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>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

而不是传递HTMLDivElement我将其id传递给函数

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

现在在函数

function onCombToPie2D(element) {

    alert('#' + element);

}

这给了我正确的元素

答案 2 :(得分:0)

我建议您使用data-attribute而不是将数据作为参数传递。

&#13;
&#13;
$(document).on('click', 'li', function(){
  console.log($(this).data('id'));
});
&#13;
<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>
&#13;
&#13;
&#13;

希望这会对你有所帮助。