jQuery 怎么判断标签元素是否存在? 下面本篇文章给大家介绍一下在 jQuery 中判断页面标签元素是否存在的方法. 有一定的参考价值, 有需要的朋友可以参考一下, 希望对大家有所帮助.
jQuery 判断页面标签元素是否存在
在传统的 JavaScript 里, 当我们对某个页面元素进行某种操作前, 最好先判断这个元素是否存在. 原因是对一个不存在的元素进行操作是不允许的.
例如:
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");
- }
更多 web 前端开发 https://www.html.cn/ 知识, 请查阅 HTML 中文网 !!
来源: http://www.css88.com/qa/jquery/17071.html