更新:当我在 about:blank 页面上创建此表并在Chrome中使用控制台时出现此问题。在JSFiddle中尝试它可以按预期工作。
UPDATE2 :忽略这一点。正如@Mike C评论的那样,我没有加载jQuery,Chrome开发工具有一个内置函数叫做' $'。换句话说,它没有用,因为Chrome开发工具并不知道我在编写jQuery。我的错。 谢谢大家的帮助。
这很简单。我有这样的事情:
<table cellpadding="5" cellspacing="0" width="100%">
<tbody>
<tr>
<td >1</td>
<td >2</td>
</tr>
<tr>
<td>3</td>
<td>4</td>
</tr>
</tbody>
</table>
当我尝试使用<td>
获取所有$("td")
时,我只获得第一个元素,而使用document.getElementsByTag("td")
我得到所有元素。
在jQuery文档中,它说$("tagName")
足以获取标记元素,但是当我尝试它时,只返回第一个元素。
为什么会这样?是否有jQuery 选择器与getElementsByTag
具有相同的行为?
提前致谢。
答案 0 :(得分:2)
实际上,这取决于你在做什么,但仍然是一个简单的演示。
我的方法:
1)在您的HTML中将.tableTd
课程归入<table>
。
2)在该类中选择所有td's
。
不使用
$("table td")
的原因是我们不希望在同一页面上有不同的表格。
$(".tableTd td").css("color","red");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<table cellpadding="5" cellspacing="0" width="100%" border="1" class="tableTd">
<tbody>
<tr>
<td >1</td>
<td >2</td>
</tr>
<tr>
<td>3</td>
<td>4</td>
</tr>
</tbody>
</table>
答案 1 :(得分:1)
你正确地理解了这个概念。但是你需要遍历each
函数来获取所有相应的元素。
$("td").each(function()
{
alert($(this).text());
});
以下是一个例子:http://jsfiddle.net/fgoed4rv/1/