选择器与元素有何不同?

时间:2011-05-29 21:46:43

标签: jquery

documentation中,自版本1.0以来,某些功能已在选择器上运行。但添加到1.6版本的功能与现在适用于元素的功能相同。这是怎么回事?标签选择器和元素之间有区别吗?

4 个答案:

答案 0 :(得分:2)

文档中的

element可能指的是DOM对象。例如,这有效:

var someElement = document.getElementsByTagName( 'div' )[0]; // points to a single DOM element

$(...).is( someElement );

请注意,这个示例没什么意义,因为您通常不会将DOM函数与jQuery混合使用,但我确信有一些有用的案例。你应该明白这一点;)

答案 1 :(得分:1)

选择器是一个字符串。元素是您使用选择器选择的DOM对象。您链接到的文档有一个示例:

  

检查现有集合   交替列表元素。蓝色,   交替列表元素向上滑动   而其他人则变红了。

<!DOCTYPE html>
<html>
<head>
  <style>li { cursor:pointer; }</style>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>

<ul id="browsers">
  <li>Chrome</li>
  <li>Safari</li>
  <li>Firefox</li>
  <li>Opera</li>
</ul>
<script>
  var $alt = $("#browsers li:nth-child(2n)").css("background", "#00FFFF");
  $('li').click(function() {
    if ( $alt.is( this ) ) {
      $(this).slideUp();
    } else {
      $(this).css("background", "red");
    }
  });
</script>

</body>
</html>

注意$alt.is的参数是被点击的元素this,而不是jQuery选择器字符串。

答案 2 :(得分:1)

元素:

$....something(document.getElementById("something"));

或在某些情况下:

$...something(this);

但是选择器只是一个描述元素或元素集的字符串:

$...something(".class");
$...something("#theid");
etc.

答案 3 :(得分:0)

可能只是在没有jQuery的情况下简单地匹配DOM元素,首先将它转换为jQuery元素。可能会节省你一些时间和记忆。至少我最好的猜测。