在下面的代码中,我循环遍历每个XML并创建动态内容。
$('#instDiv').append( "<div><b>" +
$(this).attr('institute') + "</b></div>" +
"<div>Type: " + $(this).find('type').text() +
"</div>" + "<div>Name:</div>" +
"<div onClick=\"showDiv('inst"+idCounter+"');\"><b>" + $(this).find('RM').text() +
"</b></div>" + "<span id=\"inst"+idCounter+"\" >" +
"<table><tr><td rowspan=3><img height=50 width=40 src='imgurl'></img></td><td>Phone#: " + $(this).find('ph').text() + "</td></tr>" +
"<tr><td>Email: " + $(this).find('mail').text() +
"</td></tr>" + "<tr><td>Location: " + $(this).find('loc').text() +
"</td></tr></table></span>" );
单击名称调用showDiv
函数。创建一个id为inst&amp;的跨度计数器。
因此对于第一个元素,id为inst0
。
showDiv
功能代码如下所示。
function showDiv(divID) {
alert(divID);
alert($('#instDiv').html());
alert($(divID).length);
$(divID).toggle();
}
在上面的代码中,我可以获得divID
值&amp; innerHTML
的{{1}}也打印具有相同ID的范围。
但是,当我尝试打印instDiv
长度时,它返回 0 。这意味着,没有具有该ID的元素。在我们的示例中,id为divID
。但是,这存在于inst0
innerHTML中。
如何获得该元素的访问权限。我需要在点击名称时切换显示。
答案 0 :(得分:0)
如果您通过ID属性选择,jQuery选择器应该是#inst0
而不仅仅是inst0
,所以预先设置一个像这样的哈希/井符号:
function showDiv(divID) {
alert($('#' + divID).length);
$('#' + divID).toggle();
}