用 jQuery 获取 iframe 父页面元素
也是群里的问题(我发现没事在群里鬼混一下还真能开放思路学到东西啊)
不说废话, 代码如下:
-
$('#objId', parent.document);
-
// 搞定...
-
/*
-
以前一直不理解这第二个参数应该在什么情况下用,
-
今天终于知道了, 撒花, 庆祝...
-
*/
也是群里的问题(我发现没事在群里鬼混一下还真能开放思路学到东西啊)
不说废话, 代码如下:
今天 jQuery 群里提出一个有趣的话题: children 和 find 函数, 能否取到 <p> 里的 <div> 元素.
这问题初看起来答案似乎是肯定的, 容器标签互相可以嵌套, 没道理取不到啊.
但经过试验, 结果很令人不解, 因为确实取不到 <p> 里的 <div> 元素.
参考代码如下:
一段非常普通, 看似没什么问题的代码, 用 jQuery 取 div 元素:
为什么呢? 怀疑 jQuery 框架? selector? RP? ... no! 都不是. 答案是 w3c 标准. (//todo, 找参考资料)
<p> 标签在遇到 <div> 标签后会自动关闭, 各浏览器引擎解析上面的 html 代码会得到下面的结果.
IE
Firefox
Chrome
看, 小问题引发大麻烦... 上面的代码实际上也是不符合 html 标签的语义的. 所以在构建看似简单的 html 时也得注意, 除了了解各标签的语义外, 还要了解标准是怎样的, 掌握规则才不会被灵异事件纠缠...
jQuery 的选择器中已经定义了丰富的过滤器, 例如 :first, :last, :checkbox 等... 但有时难以适应应用的复杂需求, 这时候我们可以通过自定义过滤器来满足一些特殊需求, 看下面的代码:
演示: http://labs.phpz.org/jquery_test/myfilter.html
html 代码:
javascript 代码:
回调函数有4个参数, 并返回一个布尔值, 以确定当前元素是否符合过滤器要求, 4个参数分别代表:
偶的简单实现:
http://labs.phpz.org/jquery_test/checkbox_tree.html
一个 jQuery 插件:
http://static.geewax.org/checktree/index.html
update:
今天(2009/4/9)受群里高人指点, 代码又节约了一点(最近脑子不好使了, 难道真的老了??):
以下三个脚本已更新, 请安装最新版本: