把jquery的this写入选择器里(伪写入)哈哈~

通常在jquery里我们会这样写来选择当前元素的兄弟元素:
$(this).parent().children(".brother")
或许是因为对this这个js特殊的唯一的指针无法写入选择器有些纠结吧,我们希望类似这样的写法: 伪代码:
$("this~.brother")
经过一番测试,发现可以在jquery里这样写法:
$("~.brother",this)
这样我们的代码又可以简洁很多了,类似的有:
$("+.next",this)
$(">.child",this)
等,层级符号可以在冒号开头,将this写入[context]参数中。 顺便提一下$((selector, [context])的第二个参数,默认值是根节点,即document,即$(selector)和$(selector,document)等价,这第二个参数可以是dom节点或者jquery节点~ 可参考:
http://shawphy.github.com/jquery-api/#jQuery
同时发现1.2以前支持的xpath写法在1.2和之后的版本已经不支持了,想用xpath来实现的话只能通过jquery插件,具体参考:
http://blog.csdn.net/xinem/archive/2010/02/22/5316093.aspx
jQuery XPath兼容插件jquery.xpath.js http://dev.jquery.com/view/trunk/plugins/xpath/jquery.xpath.js
不过xpath和css选择器相比,功能更强大点,但css选择器更让人熟悉和擅长,各有所长~
posted @ 2011-04-20 22:41  Defims  阅读(212)  评论(0编辑  收藏  举报