我想使用jQuery基本上通过jQuery包装了一堆CSS修改,但在IDs
或Classes
不存在的页面上我得到错误?像jQuery查找元素别无所求?
jQuery(".class").css(random_stuff)
不是一个函数
任何想法我可以做要么找到的元素和什么也不做?每
我想使用jQuery基本上通过jQuery包装了一堆CSS修改,但在IDs
或Classes
不存在的页面上我得到错误?像jQuery查找元素别无所求?
jQuery(".class").css(random_stuff)
不是一个函数
任何想法我可以做要么找到的元素和什么也不做?每
在这种情况下,它看起来像jQuery库不正确包括在内。
如果jQuery找不到与您的选择器匹配的东西,则不会发生任何事情,因为它没有找到任何元素来执行操作,这是默认行为。
这是一个好点,如果返回值为空,jQuery不会抛出,它只是没有做任何事情。 – technophile 2010-03-26 19:13:42
嘿谢谢 - 但如果我想尝试和“发现,如果无法找到无所事事”我该怎么做? – Andrew 2010-03-26 19:17:55
@Andrew默认的链接是这样的:'jQuery(“.class”).css(random_stuff)'没有别的......你的错误是没有正确包含在页面中的jQuery库。试试'alert(window.jQuery);' – 2010-03-26 19:19:38
if(jQuery(".class").length)
{
jQuery(".class").css(random_stuff);
}
您可以使用您的 选择返回 的jQuery集合的length属性:
虽然这是准确的,但这是一个完全多余的检查:) – 2010-03-26 19:17:48
虽然它是正确的0是虚假的,我认为它仍然值得把额外的'> 0'为可读性:) – 2010-03-26 19:23:34
您可以检查返回值的length
属性:
var myElement = $('.class');
if (myElement.length > 0)
myElement.css(random_stuff);
很酷,所以如果我想“找到,如果不能找到无所事事”,我会如何做到这一点:)? – Andrew 2010-03-26 19:18:25
听起来像是你缺少在这些网页上引用jQuery的。 jQuery只对匹配的选择执行一个动作......如果没有匹配,它不会抛出错误。
看到这个问题http://stackoverflow.com/questions/31044/is-there-an-exists-function-for-jquery – Catfish 2010-03-26 19:21:46