在工作中遇到这么一种情况,页面部分HTML元素是通过服务端语言根据不同情况控制显示不同内容的,然而在同一个页面某些情况在DOM准备好后需要用到Ajax跟服务端通讯,而有些情况不需要,那么我只想在页面存在我指定的HTML标记的时候我才触发Ajax部分,毕竟这样可以减轻服务器的负担,废话一大堆,转入正题:
其实解决JQuery判断元素是否存在的问题,方法很简单:
if($("#abc").length >0) { ... }
if($("#abc").html() != "") { ... }
如上两种方式都可以判断html文档是否存在我们想要的元素,之前试过用$("#abc") != null / !$("#abc") / $.find("#abc") ..... 结果不行,因为无论元素是否存在都会返回Object的,那我暂时就用上面两种方法之一解决了问题,具体有没有更好的办法,有待发掘......