您的位置:首页 > Web前端 > JQuery

使用 jQuery() 操作 DOM 对象要注意的小问题

2014-01-16 16:11 615 查看
js 里使用 document.getElementById("theid") 来获得 dom 对象,例如:

document.getElementById("table1") 就可以获取到 id 为 table1 的对象,就可以直接

document.getElementById("table1") .rows.length 来获得行数。

使用 $() 可以简写代码,如:

$("#table1")。但这样获取到的不是 dom 对象,通过 alert 打印出来的 是 object 而不是 Html的Table。

所以$("#table1").rows.length 是错误的。

正确的使用应该是:$("#table1")[0].rows.length;

$("#table1") 会获取到所有的 id 为 table1 的对象。

测试:

<body>
<div id="div1" class="divpos">
<form id="form1">
          id: <input type="text" class="id" name="id" /><br />
name: <input type="text" class="name" name="name"/><br />
number:<input type="text" class="number" name="number"/><br />
<input type="button" value="添加" onclick="AddRow()"/>
</form>
</div>

<div id="div2" class="divpos">
<table border="1" id="table1">
<tr><th>id</th><th>name</th><th>number</th></tr>
</table>
</div>
</body>

<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
function AddRow() {
//var count = document.getElementById("table1").rows.length;
//获取table的行数
var count = $("#table1")[0].rows.length;
//在指定位置插入一行
var row = $("#table1")[0].insertRow(count);
//在行的指定位置插入单元格
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
var cell3 = row.insertCell(2);
cell1.innerText = $(".id")[0].value;
cell2.innerText = $(".name")[0].value;
cell3.innerText = $(".number")[0].value;
$(".id").val(""); $(".name").val(""); $(".number").val("");
}
</script>


----------------------------------------------------------------------------------------------------
前端的东西还是弄得比较少,js 代码写得不多,比较生疏。要找个时间补补。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  js jquery