jQuery 判断页面元素是否存在的代码

例如:


代码如下:

document.getElementById("someID").innerText("hi");

如果ID为"someID"的元素不存在,我们将得到Javascript运行错误:document.getElementById("someID") is null
正确的写法应该是:


代码如下:

obj = document.getElementById("someID");
if (obj){
obj.innerText("hi");
}

那么在jQuery,我们如何判断页面元素存在与否呢?如果参照上面的传统Javascript的写法,我们第一个想到的办法一定是:


代码如下:

if ($("#someID")){
$("#someID").text("hi");
}

可是这么写是不对的!因为jQuery对象永远都有返回值,所以$("someID") 总是TRUE ,IF语句没有起到任何判断作用。正确的写法应该是:


代码如下:

if ( $("#someID").length > 0 ) {
$("#someID").text("hi");
}

注意 :判断某个页面元素存在与否在jQuery实际上是没有必要的,jQuery本身会忽略 对一个不存在的元素进行操作,并且不会报错。


代码如下:

$(document).ready(function(){
var value=$('#btn_delXml').length;
if(value>0)
{
alert('Extsts');
}
else
{
alert('not Extsts');
}
})

下面是其它说明虽然类似,但有些文字说明
有的时候,要根据页面加载的内容不同而作不同的操作,这个时候,判断页面上是否存在这个元素(或对象)变得尤为重要。如果写JavaScript来实现,较为麻烦,而jQuery却能很容易的实现这个功能。
  我们知道,jQuery选择器获取页面的element时,无论element是否存在,都会返回一个对象。例如:
  var my_element = $("#element_Id" )
  此时的变量my_element就是一个对象,既然是一个对象,这个对象就具有length的属性,因此,用以下代码可以判断元素(对象)是否存在:


代码如下:

if(my_element.length>0){
    alert("element is exist."); 
}else{ 
    alert("element not be found"); 
}

(0)

相关推荐

  • jquery判断元素的子元素是否存在的示例代码

    jquery判断子元素是否存在 一.判断子元素是否存在   //一级子元素 if($("#specialId>img").length==0)     if ($( "#specialId:has(img)" ).length==0)          {      //-----没有img子标记-----     }    else     {      //-------有img子标记------     } 二.选择特定id元素下的特定id子元素   

  • jQuery判断元素是否存在的可靠方法

    最简单的办法是判断元素匹配长度 譬如HTML代码: 复制代码 代码如下: <div class='mydiv'></div> 通常我们的做法是 复制代码 代码如下: if($('.mydiv').length>0) 比较可靠且不会出错的做法是: 复制代码 代码如下: if($('.mydiv').length && $('.mydiv').length>0)  return true; 使用传统javascript方法,如下: 复制代码 代码如下: if

  • jquery如何判断某元素是否具备指定的样式

    分为以下2种情况: 1.如果css写成行内样式,可以通过获取style属性的值来判断,示例如下: 判断id为divid的div元素是否有font-size样式: 复制代码 代码如下: <div id="divid" style="float:left; font-size:12px;"></div> jquery代码如下: jQuery("#divid").each(function(){ var fontSize = $

  • jQuery判断数组是否包含了指定的元素

    要判断数组中是否包含某个元素,从原理来来说,就是遍历整个数组,然后判断是否相等, 复制代码 代码如下: var arr = [ "xml", "html", "css", "js" ]; $.inArray("js", arr);  //返回 3, 如果不包含在数组中,则返回 -1; 以上就是本文的全部内容了,有需要的小伙伴参考下吧

  • jQuery 选择同时包含两个class的元素的实现方法

    jQuery 选择同时包含两个class的元素的实现方法 <element class="a b"> 1. 交集选择: $(".a.b")--选择同时包含a和b的元素. 2. 并集选择:$(".a, .b")--选择包含a或者包含b的元素. 以上这篇jQuery 选择同时包含两个class的元素的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • jquery中获取元素里某一特定子元素的代码

    之前做的一些JQUERY应用都是些很基础的编程,对于选择器要求不高,像类似于"$('.class')"."$('#id')"."$('#id>.class')"."$(this)"."$(this).parent()"."$(this).children()"这些简单的语句都能解决的. 问题的出现是我要选择一个ul里某个的li中的一个span,因为要利于编程,li是用 $('ul&

  • 使用jquery判断一个元素是否含有一个指定的类(class)实例

    在jquery中可以使用2种方法来判断一个元素是否包含一个确定的类(class).两种方法有着相同的功能. 2 种方法如下: 1. is('.classname') 2. hasClass('classname') 以下是一个div元素是否包含一个redColor的例子: 1. 使用is('.classname')的方法 $('div').is('.redColor') 2. 使用hasClass('classname')的方法(注意jquery的低版本可能是hasClass('.classna

  • jQuery检测某个元素是否存在代码分享

    代码中可能有这样的情况,根据元素是否存在来执行不同的操作,这样就需要判断指定的元素是否存在. 使用$(selector)可以获得匹配元素集合,而匹配元素集合的length属性可以获得集合中匹配元素的个数,所以只要判断length属性值是否为零,就可以判断元素是否存在.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>我们</title&

  • jQuery 判断页面元素是否存在的代码

    例如: 复制代码 代码如下: document.getElementById("someID").innerText("hi"); 如果ID为"someID"的元素不存在,我们将得到Javascript运行错误:document.getElementById("someID") is null 正确的写法应该是: 复制代码 代码如下: obj = document.getElementById("someID&quo

  • javascript下判断一个元素是否存在的代码

    1. 判断表单元素是否存在(一) 复制代码 代码如下: if("periodPerMonth" in document.theForm) { return true; } else{ return false; } 2. 判断页面元素是否存在 复制代码 代码如下: if(document.getElementById("XXX")) { //存在 } 3. 判断表单元素是否存在(二) 复制代码 代码如下: if(document.theForm.periodPerM

  • 通过jquery实现页面的动画效果(实例代码)

    有很多函数可以用来实现动画效果,其中animate函数为最为常见的函数之一.以下为对该函数使用方式的简要介绍. animate函数基本形式 通过animate实现动画效果的基本形式为: $(selector).animate({params},speed,callback); 其中{params}为必须项,它是一个对象,指明了我们希望指定元素通过动画效果运行后,其所具有的的CSS样式,speed和callback则皆为可选项,其中speed指明了动画运行的速度,其值可为数值类型(如1000表示动

  • jQuery判断一个元素是否可见的方法

    本文实例讲述了jQuery判断一个元素是否可见的方法.分享给大家供大家参考.具体如下: jQuery 可以很容易地确定一个元素是可见的或是隐藏的,然后分别做不同的处理.如:我想根据某 div 是否可见,在按钮上显示不同的文字和图标.可以这样实现: 方法一: $('#para_div button').click(function() { if($(this).next().is(":visible")) { //$(this).html('显示'); $(this).css({&quo

  • jQuery获取页面元素绝对与相对位置的方法

    本文实例讲述了jQuery获取页面元素绝对与相对位置的方法.分享给大家供大家参考.具体如下: 获取页面某一元素的绝对X,Y坐标,可以用offset()方法: var X = $('#DivID').offset().top; var Y = $('#DivID').offset().left; 获取相对(父元素)位置: var X = $('#DivID').position().top; var Y = $('#DivID').position().left; var pleft = $("s

  • jquery获得页面元素的坐标值实现思路及代码

    jquery如何获得页面元素的坐标值 yulutxt是输入经典语录的输入框,feedBackMessage函数见http://www.wesoho.com/article/asp/2765.htm 复制代码 代码如下: var p = $("#yulutxt"); var yuluoffset = p.offset(); feedBackMessage(msg,yuluoffset.left+p.width()+10,yuluoffset.top,5000); ------------

  • JQuery判断HTML元素是否存在的两种解决方法

    在工作中遇到这么一种情况,页面部分HTML元素是通过服务端语言根据不同情况控制显示不同内容的,然而在同一个页面某些情况在DOM准备好后需要用到Ajax跟服务端通讯,而有些情况不需要,那么我只想在页面存在我指定的HTML标记的时候我才触发Ajax部分,毕竟这样可以减轻服务器的负担,废话一大堆,转入正题: 其实解决JQuery判断元素是否存在的问题,方法很简单: if($("#abc").length >0) { ... } if($("#abc").html()

  • javascript getBoundingClientRect() 来获取页面元素的位置的代码[修正版]第1/2页

    document.documentElement.getBoundingClientRect下面这是MSDN的解释: Syntax oRect = object.getBoundingClientRect()Return Value Returns a TextRectangle object. Each rectangle has four integer properties (top, left, right, and bottom) that represent a coordinate

  • 微信小程序之判断页面滚动方向的示例代码

    微信小程序中如果判断页面滚动方向? 解决方案 1.用到微信小程序API 获取页面实际高度 nodesRef.boundingClientRect([callback]) 监听用户滑动页面事件onPageScroll. 2.获取页面实际高度 <!--WXML--> <view id="box"> <view class="list" wx:for="{{List}}" wx:key="List{{index}

随机推荐