Javascript 获取HtmlLevel的id
我在函数中传递一个htmldevelment,如下所示Javascript 获取HtmlLevel的id,javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,我在函数中传递一个htmldevelment,如下所示 var tableHTML = "... <li name="Item2" onclick="onCombToPie2D(\'' + id + '\');" >Pie 2D</li> ...."; $('#graphsDiv').append(tableHTML); function onCombToPie2D(element) { alert($('#element')); } 但现在我无法访问
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存在(这是剑道图)
。。。
尝试以下示例:
函数onComTopie2D(idElemento){
警报($('#'+idElemento.attr('id'));
}
饼图2D
... 代码>请尝试以下示例:
函数onComTopie2D(idElemento){
警报($('#'+idElemento.attr('id'));
}
饼图2D
... 代码>我没有传递HtmlLevel,而是将其id传递给函数
<li name="Item2" onclick="onCombToPie2D(\'' + id.id + '\');" >Pie 2D</li>
function onCombToPie2D(element) {
alert('#' + element);
}
这返回了正确的元素,而不是传递HtmlLevel,我将其id传递给了函数
<li name="Item2" onclick="onCombToPie2D(\'' + id.id + '\');" >Pie 2D</li>
function onCombToPie2D(element) {
alert('#' + element);
}
这返回了正确的元素我建议您使用数据属性
,而不是将数据作为参数传递
$(文档)。在('click','li',函数()上{
console.log($(this.data('id'));
});代码>
Pie 2D
第2D行
...
我建议您使用数据属性
,而不是将数据作为参数传递
$(文档)。在('click','li',函数()上{
console.log($(this.data('id'));
});代码>
Pie 2D
第2D行
... 代码>尝试警报($('#元素').length)
,如果0则元素不存在,如果1则尝试警报($('#元素').prop('outerHTML')代码>以查看元素是否正确。。。但是$('#element')
id属性当然是“element”,只是好奇脚本在做什么,您的onCombToPie2d
参数在函数中没有真正使用,您在这里实际尝试做什么?你能把你的li
和id
放在与name
相同的位置吗?如果tableHTML
有多行,那么你必须使用反勾号
,而不是开始和结束双括号,因为它会在你的控制台中立即给你错误。谢谢taufiq,我猜它取错了元素长度=0…但是元素存在..如何将其id传递给另一个函数(请注意,我需要保留此id,然后销毁对象,重新创建它,然后使用此id访问元素)@Samra您需要发布完整的codetry警报($('#element').length)
,如果0则元素不存在,如果1则尝试警报($('#element')).prop(“outerHTML”)代码>以查看元素是否正确。。。但是$('#element')
id属性当然是“element”,只是好奇脚本在做什么,您的onCombToPie2d
参数在函数中没有真正使用,您在这里实际尝试做什么?你能把你的li
和id
放在与name
相同的位置吗?如果tableHTML
有多行,那么你必须使用反勾号
,而不是开始和结束双括号,因为它会在你的控制台中立即给你错误。谢谢taufiq,我猜它取错了元素长度=0…但是元素存在..如何将其id传递给另一个函数(请注意,我需要保留此id,然后销毁对象,重新创建它,然后使用此id访问元素)@Samra您需要发布完整代码它的未定义
。在发布应答之前,请检查是否在jquery选择器$(“#元素”).attr('id')
中放入了错误的id,而不是$(“#”+元素)。attr('id')
和正确的元素idIf$(“#”+元素)。attr('id')
给出了id,这不意味着元素已经是id吗?它是未定义的。在发布应答之前,请检查是否在jquery选择器$('#element').attr('id')
中放置了错误的id,而不是$('#'+element).attr('id')
中放置了正确的元素idIf$('#'+element).attr('id'))
给出id这不意味着元素
已经是id了吗?如果可能的话,我非常感谢您的帮助,积极评估我对帮助新用户的响应。我是可用的。这里id是一个htmldevelment对象,您在函数中传递了'chartmd2467rt6',在我的例子中是id.id。我基本上做了同样的事情,唯一的区别是使用变量而不是硬编码的id,所以我投票支持你的答案。如果可能的话,我非常感谢你的帮助,积极评估我的回答,以帮助新用户。我是可用的。这里id是一个htmldevelment对象,您在函数中传递了'chartmd2467rt6',在我的例子中是id.id。我基本上做了同样的事情,唯一的区别是使用变量而不是硬编码的id,所以我投票支持你的答案