原型中漂亮的代码,如何省略'不是函数'空结果选择器上的错误
Beautiful code in prototype, how to omit 'is not a function' errors on empty result selectors
当我在jQuery中这样做时,li.notsuchelem
不存在
$('li.notsuchelem').closest('div')
运行良好
但当我在原型中做同样的事情时,它会给我一个错误
$$('li.notsuchelem').up('div')
>TypeError: $$('li.notsuchelem').up is not a function
我如何从中生成漂亮的代码
if ($$('li.notsuchelem').length) $$('li.notsuchelem').up('div');
>>>>
var tmp;
if ((tmp = $$('li.notsuchelem')).length) tmp.up('div');
>>>>
$$('li.notsuchelem').each(function(el){el.up('div')});
在我看来,一切都和jQuery相反。我能做点什么吗?还是我必须处理它?
嗯,我想我会接受这个答案,但要么我编码错了,要么我就是不喜欢原型
jQuery:
$('.ss_new:not(.force_visible)', wrapper).closest('tr').hide();
原型:
wrapper.select('.ss_new:not(.force_visible)').invoke('up','tr').invoke('hide');
我认为在prototypejs中是这样的。
$$(".test").invoke("up", "div");
您可以将返回的数组强制转换为数字,而不是长度。此外,您还可以使用逻辑AND(&&
)运算符的副作用。
+$$('li.notsuchelem') && $$('li.notsuchelem').up('div');
相关文章:
- JScript 错误: 无法分配给函数结果
- 显示基于javascript函数结果的HTML代码
- 访问来自另一个函数的函数结果
- 将函数结果传递给Javascript中的另一个函数变量
- NaN作为函数结果而不是必需的整数出现问题
- 更改javascript更改函数结果的颜色
- 从函数结果中检测三角函数
- 根据函数结果使用 JavaScript 更改图像
- 如何返回函数结果并将它们设置为标记的内部 HTML
- JavaScript 如何将函数结果与数组中的值一起传递到同一个函数中
- 用
标记包装 JQuery 函数结果
- 节点函数结果未定义
- 使用Cheerio和Response for Node web scraper,将响应函数结果传递给视图
- 在所有项目javascript中显示函数结果
- 平板电脑友好的悬停工具提示,显示基于javascript函数结果的动态文本
- 在机器时间更改后立即更新Date()函数结果
- 屈服函数结果
- 如何在JavaScript中处理异步函数结果
- 声明和定义全局变量作为函数结果有时有效
- Jquery&函数结果,作为属性名称