日期:2014-05-16  浏览次数:20415 次

关于js中this的疑问及转变成jquery的写法.
好吧,我承认,我的js很菜,所以这个问题不要笑我。。

事情是这样的

html代码:
HTML code

<form ...>
<input type="checkbox" onclick="selectAll(this,chk)" >
</form>



这里面的this,我查了一下,说是input这个元素结点的引用

js代码 是这样的

JScript code

var selectAll = function(obj,chk){
var inputs = obj.form.getElementsByTagName("INPUT");
//请问这些为什么要用obj.form.get.....这样的写法?这里的obj不是元素结点吗?后面跟着form是不是代表这个节点的父元素?正常的写法好像是从文档流>具体元素>子元素>属性
//再问,如何将上面这句话变成jquery的语法?
}



------解决方案--------------------
getElementsByTagName...获取上下文中所有名称 匹配的 标签 返回的是一个 数组

var inputs = jQuery(obj.form).find('input');

(以后语法和api的问题请直接google)
------解决方案--------------------
这个写法不规范吧,这样写:
JScript code
function selectAll(obj, chk) {
    var inputs = obj.parentNode.getElementsByTagName('input');
}
//jQuery:
function selectAll(obj, chk) {
    var inputs = $(obj).parent().find("input");
}