Javascript 如何检查jQuery中是否存在id为的元素?
我正在动态生成一个div,我必须检查动态生成的div是否存在?我该怎么做 目前,我正在使用下面的方法,它不会检测动态生成的div。它只检测HTML模板中是否已经存在id为的元素Javascript 如何检查jQuery中是否存在id为的元素?,javascript,jquery,html,Javascript,Jquery,Html,我正在动态生成一个div,我必须检查动态生成的div是否存在?我该怎么做 目前,我正在使用下面的方法,它不会检测动态生成的div。它只检测HTML模板中是否已经存在id为的元素 $(function() { var $mydiv = $("#liveGraph_id"); if ($mydiv.length){ alert("HHH"); } }); 如何检测动态生成的div?如何插入动态生成的div 如果您按照以下方式进行操作,它将起作用: var d
$(function() {
var $mydiv = $("#liveGraph_id");
if ($mydiv.length){
alert("HHH");
}
});
如何检测动态生成的div?如何插入动态生成的div 如果您按照以下方式进行操作,它将起作用:
var div = document.createElement('div');
div.id = 'liveGraph_id';
div.innerHTML = "i'm dynamic";
document.getElementsByTagName('body')[0].appendChild(div);
if ($(div).length > 0) {
alert('exists'); //will give alert
}
if ($('#liveGraph_id').length > 0) {
alert('exists'); //will give alert
}
if ($('#liveGraph_id_extra').length > 0) {
alert('exists'); //wont give alert because it doesn't exist.
}
.如果以友好方式添加,则必须再次测试。比如说,点击事件
$("#element").click(function()
{
if($("#liveGraph_id").length)
alert("HHH");
});
如果由于它们的原因而无法选择,则必须包含实际将
插入文档的代码
一个选项是将自定义事件用作事件
出于兴趣,您还可以为此使用live集合(它们作为DOM的一部分提供)。您可以在页面中设置所有div的集合(这可以在加载主体之前在头部完成):
任何id为的div都可以作为集合的命名属性使用,因此您可以执行以下操作:
if (allDivs.someId) {
// div with someId exists
}
如果ID不是有效标识符,或者它保存在变量中,请使用方括号表示法。一些播放代码:
<button onclick="
alert(!!allDivs.newDiv);
">Check for div</button>
<button onclick="
var div = document.createElement('div');
div.id = 'newDiv';
document.body.appendChild(div);
">Add div</button>
检查div
添加div
单击Checkfordiv按钮,您将得到false
。单击adddiv按钮添加div,然后再次检查,您将得到true
就是这么简单
if(document.getElementById("idname")){
//div exists
}
或
您是否可以控制自动生成的div?如果是这样,则在添加元素时执行该步骤。通过检测动态生成的div
,您到底想检测什么?您需要在创建元素后执行该步骤。如果您想知道元素何时添加到文档中,可能会有用。如果($mydiv.length>0)我已经意识到了这一点,但是我不是在jQuery中创建div,而是在python(后端)中创建div。这就是我的表现portlet_div_str+=“但是如何在文档中添加它呢?如果不添加,就无法检查它是否存在。我在模板中使用django语法调用它,{{{code>{{%autoescape off%}{{portlet_div_str}{%endautoescape%}
随时检查它是否存在。$(function(){…})
在加载DOM后执行。如果以后添加元素,则必须再次运行测试。(不一定在单击事件上)为什么会被否决?看起来这只是一个事件监听器的示例内容路径意味着什么?@user1162512这只是一个示例URL路径。您在评论中提到,
是用Python编写的,所以假设检索它时涉及Ajax。不。在这个特定情况下不涉及Ajax。我只是转发这个str当页面第一次加载或刷新页面时,将HTML元素添加到模板上。这就是我的操作方式。返回render_to_response('dashboard/widget_dashboard.HTML',{'HTMLstr':HTMLstr},context_instance=RequestContext(request))
在模板中,我通过{%if HTMLstr%}调用该HTML元素字符串{%autoescape off%}{{HTMLstr}{%endautoescape%}{%else%}
只要喜欢那些驱动-通过向下投票。好吧,没有jQuery(因此“只是为了兴趣”),但还有什么呢?
if (allDivs.someId) {
// div with someId exists
}
<button onclick="
alert(!!allDivs.newDiv);
">Check for div</button>
<button onclick="
var div = document.createElement('div');
div.id = 'newDiv';
document.body.appendChild(div);
">Add div</button>
if(document.getElementById("idname")){
//div exists
}
if(!document.getElementById("idname")){
// don't exists
}