使用Prototype我必须选择并隐藏里面包含单词<li>
的所有Foo
元素:
<li><label>Lorem Lipsum Foo</label></li>
<li><label>Lorem Lipsum Bar</label></li>
我知道使用jQuery它就像$('li:contains("Foo")').hide()
一样简单,但是在Prototype中找不到这样做的方法。
答案 0 :(得分:8)
var lis = document.getElementsByTagName("li");
[].forEach.call(lis, function (li) {
if (li.textContent.indexOf("Foo") > -1) {
li.style.display = "none";
}
});
说真的,你不需要这个库。只是一点点DOM4&amp; ES5为你做到了。
如果您关心传统平台支持,请使用普通填充程序
SideNote:永远都不要$("li:contains('Foo')")
它的速度太慢了。更不用说杀人狂选4了
答案 1 :(得分:2)
:contains
在Prototype中有效,您只需要记住$$
的输出是一个数组。
$$('li:contains("Foo")').invoke('hide');