jquery判断元素是否存在
发布网友
发布时间:2022-05-03 05:01
我来回答
共1个回答
热心网友
时间:2022-04-23 03:13
前一段时间小剧写了篇名为《谈谈小剧对“渐进增强与平稳退化”的理解【上】》的文章。随后就对小剧客栈进行JS调整。因为小剧客栈是直接忽略IE6的,所以调整主要针对的是:当JS不可用的情况,保证所页面提供给浏览者的元素皆可用,这一基本原则。
其实这一工作并没有太大难度,无非是让调用JS的元素都用JS自己生成,这样JS可用时调用JS的元素就会生成,反之则不会出现。
最让小剧引以为豪的是小剧客栈的“阅读模式”,原来的阅读模式按钮是写在HTML里的,考虑到“渐渐增强”原则,这个按钮也同样必须由JS生成。小 剧所提出的方案是先用JQUERY判断页面中class为“.article”的元素是否存在,存在的话就在页面中生成“阅读模式”按钮,不存在则不生 成。
前面都是题外话,下面说说的问题查看原文到了这一步就是大刀阔斧地书写代码的时候了,很自然的我写出下面的代码:小剧客栈结果发现无论“.article”是否存在,按钮都会生成。然后我又把条件改为“$(".article")=ture”,结果与之前是一模一样的。
查了下JQUERY选择器才知道,无论“.article”是否存在“$(".article")”都有返回值的,而且不为0,并且选择器得到的内容实际是一个数组。
了解到这里我有了豁然开朗的感觉,其实只要判断“$(".article").length”是否大于零即可。于是我将代码改写为下面所示内容。
果然,只有页面存在“.article”,“阅读模式”按钮才会生成
问题解决了,方法很简单,主要是要多思考。对于刚接触JQUERY的小剧来说,每一次进步都是另我兴奋的,希望这篇文章对你有用。