Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.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,我不知道该如何表达这个问题,所以我在网上找不到任何关于它的信息,但有什么理由要用jquery“选择”一个元素两次呢?我试图理解的一个应用程序中包含了多个这样的例子 var t = $($("#slider li")[currentIndex]); IPS.SetTheme($($("#slider li")[currentIndex])); $($("#location li")[currentIndex]).addClass("selected"); 这与为什么出于作用域原因而偶尔将这个写为

我不知道该如何表达这个问题,所以我在网上找不到任何关于它的信息,但有什么理由要用jquery“选择”一个元素两次呢?我试图理解的一个应用程序中包含了多个这样的例子

var t = $($("#slider li")[currentIndex]);
IPS.SetTheme($($("#slider li")[currentIndex]));
$($("#location li")[currentIndex]).addClass("selected");

这与为什么出于作用域原因而偶尔将
这个
写为
$(this)
类似吗?

$(选择器)[index]
返回裸DOM元素,因此需要用
$()
包装它以获得jQuery对象。

我有点困惑。但是让我来帮你

那么关于这个,

var t = $($("#slider li")[currentIndex]);
var t是一个jQuery对象。因此,您可以:

t.hide(); // to hide the element
t.show(); // to show the element
t.css("color", "red"); // to make the text color red
我们在这里讨论的是索引。您可以了解以下方面的更多信息:

例如,我们有以下HTML代码:

<ul id="slider">
  <li>foo</li>
  <li>bar</li>
  <li>baz</li>
</ul>
这将导致:

<ul id="slider">
  <li>bar</li>
  <li>baz</li>
</ul>
  • 酒吧
  • 巴兹
指数呢

<ul id="slider">
  <li>foo</li> index 0
  <li>bar</li> index 1
  <li>baz</li> index 2
</ul>
  • foo
  • 索引0
  • 条形图
  • 索引1
  • baz
  • 指数2

您不需要重新绘制对象两次

您可以使用:eq()jquery选择器将装饰集限制为单个装饰:

-例如:


如果您只想通过索引选择对象,则应该采用这种方式。更高的性能(少了一个装饰)和最佳实践。

我相信他知道这一点。他正在寻找避免双重装饰的方法。eq选择器避免了这一点在这个上下文中裸DOM元素和jQuery对象之间有什么区别?所以区别在于裸DOM元素不能用jQuery方法更改?好的,谢谢。我觉得在阅读jQuery时,我从来没有提到过这一点,但我并没有完全阅读过所有内容。
<ul id="slider">
  <li>foo</li> index 0
  <li>bar</li> index 1
  <li>baz</li> index 2
</ul>
$("#myId:eq(" + myIndex + ")")