Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在jQuery中选择单个元素?_Javascript_Jquery - Fatal编程技术网

Javascript 如何在jQuery中选择单个元素?

Javascript 如何在jQuery中选择单个元素?,javascript,jquery,Javascript,Jquery,我有一个表结构,看起来像: <table> <tr id="row1"> <td> <div>row 1 content1</div> </td> <td> <div>row 1 content2</div> </td> <td> <div>row 1 content3</div>

我有一个表结构,看起来像:

<table>
 <tr id="row1">
   <td>
     <div>row 1 content1</div>
   </td>
   <td>
     <div>row 1 content2</div>
   </td>
   <td>
     <div>row 1 content3</div>
   </td>
 </tr>
 <tr id="row2">
   <td>
     <div>row 2 content1</div>
   </td>
   <td>
     <div>row 2 content2</div>
   </td>
   <td>
     <div>row 2 content3</div>
   </td>
 </tr>
 <tr id="row3">
   <td>
     <div>row 3 content1</div>
   </td>
   <td>
     <div>row 3 content2</div>
   </td>
   <td>
     <div>row 3 content3</div>
   </td>
 </tr>
</table>
我得到的是一个包含单个元素的数组(我要查找的DIV),然后我必须使用d[0]进行访问。为什么jQuery返回一个元素数组,我认为使用上面的选择器会直接返回DIV元素



-嗯……好了,我脑子里刚打开一盏灯,我现在明白了。干杯。

jQuery总是返回一组元素。有时,集合是空的。有时,它只包含一个元素。这样做的好处在于,无论匹配多少个元素,您都可以编写以相同方式工作的代码:

$("selector").each(function()
{
   this.style.backgroundColor = "red";
});

有趣

如果您发现您知道只处理一个元素,并且只返回一个元素,那么您可以始终选择数组的零索引

$("selector")[0].value 

它脏兮兮的,通常打破了jQuery的惯例。。。但是您“可以”做到这一点。

如果您更喜欢保留jQuery对象,您可以编写:

$("selector").first().val()
$(“选择器”)。等式(5)

这将返回一个只包含第5项的第一类jquery数组。 i、 例如,我可以对返回值执行jquery函数

在这里找到了答案:
要直接获取div,请尝试以下操作


$divElement=$('row3 td div')执行此操作有几个选项:

“选择下面代码段中几个Div元素中的第一个,并将其颜色更改为粉红色”

div1
第2组
第3组
第4部分

在这里,我们可以通过以下方式选择第一个Div:

1)
$(“div”).first().css(“颜色”、“粉色”)
2)
$(“div:first”).css(“颜色”、“粉色”)
3)
$(“div:type的第一个”).css(“颜色”、“粉色”)


请注意,2是一个jQuery构造,而不是本机css构造,因此性能可能稍差。

这在jQuery 3.4.1中起作用:


$($('li')[0]).css('color','blue')

这将返回一个包含单个元素的数组。您不能在其上触发
单击
事件。上面的CodeNinja解决方案返回不在数组中的单个元素。jQuery始终适用于类似数组的对象。任何后续操作都将引用所有元素。因此,所有这些表达式都将产生相同的结果:
$(“选择器:第一”)。单击()
$(“选择器”)。第一()。单击()
$($(“选择器”)[0])。单击()
。请参阅Shog9的答案。我得到的是“TypeError:$(…)[0]。html不是函数”,而.first()工作正常。仅选择数组的[0]索引将返回DOM元素,而不是jQuery对象,因此您将无法在其上使用.html()之类的jQuery方法。没关系,这并没有回答发布的问题,但我一直在寻找它。直到我再次阅读问题后才意识到。但是如果您在上面的HTML上执行此操作,例如,
$('row3 td div')。css('background-color','red')
将应用于所有这3个
中!(至少在jQuery 2.1中)这怎么可能是选定的答案?问题是“我如何选择单个元素?”而你的答案是“你得到了所有元素!”
$("selector").first().val()