$(document).ready(function() {
// use this to reset a single form
$("#reset").click(function() {
$("#form")[0].reset();
});
});
这里的 [0] 是怎么回事?看解释说是取 id为form 的第 0个表单 但是我把 0换成1 就不正确了
为什么啊?能帮我讲讲吗? 当然了 我做了三个 id 为 form的表单。先谢谢了!
// use this to reset a single form
$("#reset").click(function() {
$("#form")[0].reset();
});
});
这里的 [0] 是怎么回事?看解释说是取 id为form 的第 0个表单 但是我把 0换成1 就不正确了
为什么啊?能帮我讲讲吗? 当然了 我做了三个 id 为 form的表单。先谢谢了!
把id=“form”的表单改成name=“form”,然后$("#form") 改成 $("form[name='form']")试一试。
<input id=aa>
<input id=aa>
<script>
var obj=$("input");
alert(obj[0].getAttribute("id"));//aa
alert(obj[1].getAttribute("id"));//aa
alert(obj[2].getAttribute("id"));//aa
alert($("#aa").length);//1,only one
</script>
var obj = { doSth: function() {} }; // obj 是一个对象var ary = [ obj ]; // ary 是数组.//即使ary中只有一个元素
//想取得通过 ary 取得那个 obj 元素,你仍然必须用
ary[0].doSth();// 你当然不能用 ary.doSth();
相当yu用tagName:
$("form")[0].reset();
-----------------------------------------------------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" >
$(function(){
alert('jquery:'+$('#txt').val());
alert('dom:'+$('#txt')[0].value);
// $('#txt')[0] = document.getElementById('txt')
})
</script>
</HEAD> <BODY>
<input type='text' id='txt' value='Sandy' />
</BODY>
</HTML>
--------------------------------------------------
那么在什么情况下写成$("#form")[1]是正确的这是不能的 ,虽然你可以 给两个 <form> 同时定义一样的ID <form id='form1'>但 $("#form1") 只会返回 第一个符合条件的DOM 元素 并包装成 jQ对象所以是不会有 $("#form")[1] 这样的写法的, $("#form")[0] 的意思是 将jQ 对象转换成 dom 元素(对象)------------------------想用下标 [1] 如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" >
$(function(){
alert('jquery:'+$('#txt').val());
alert('dom:'+$('#txt')[0].value);
// $('#txt')[0] = document.getElementById('txt') alert($('form')[0].id);
alert($('form')[1].id);
})
</script>
</HEAD> <BODY>
<input type='text' id='txt' value='Sandy' />
<form id='form1'>
</form>
<form id='form2'>
</form>
</BODY>
</HTML>
<input class="myInput" value="1" />
<input class="myInput" value="2" />
<input class="myInput" value="3" />
<input class="myInput" value="4" />
<input class="myInput" value="5" />
<script>
var list = $(".myInput"); // 选择到多个元素时alert( list[0].value );
alert( list[1].value );
alert( list[2].value );
alert( list[3].value );
alert( list[4].value );</script>
--------------------------------------------------------------------$("#form")[0] 与 $("#form").get(0) 等价
$("form[id='form']")
// HANDLE: $("#id")
} else {
elem = document.getElementById( match[2] ); if ( elem ) {
// Handle the case where IE and Opera return items
// by name instead of ID
if ( elem.id !== match[2] ) {
return rootjQuery.find( selector );
} // Otherwise, we inject the element directly into the jQuery object
this.length = 1;
this[0] = elem;
} this.context = document;
this.selector = selector;
return this;
}
--------------------------------------------------------------------$("#form")[0] 与 $("#form").get(0) 等价 我想问你 是不是所有的情况下??? ---想把jq对象转换成dom元素只要加上[0]就对了呢?
肯定不是所有情况下这样了, 你要知道 jQ 对象它实质上就是个列表(也看成是个数组),
里面的元素就是 一个个的 dom 元素.
jquery对象,加上[index], 就是为了取出列表中的第 index 个 dom 元素.
但这里有一个索引越界的问题, 你必须保证列表中至少有一个元素,你才可以正常的在jq对象后加[0] 来取得第一个元素.