slice

« Обратно к списку traversing-функций

slice( начало, [конец] )

Выделяет подмножество из набора совпавших элементов.
Ведет себя точно также как и встроенный метод разделения массивов. (допускаются отрицательные значения)
Аргументы:
начало Integer
Указание начала подмножества. Отсчет с нуля. Значение может быть отрицательным, это позволит начать с конца выборки.
конец (необязательно) Integer
Указание конца подмножества (не включая самого элемента). Если не указано, то концом подмножества является конец самой выборки.
Примеры:
Случайным образом закрашивает элементы div.

    function colorEm() {
      var $div = $("div");
      var start = Math.floor(Math.random() *
                             $div.length);
      var end = Math.floor(Math.random() *
                           ($div.length - start)) +
                           start + 1;
      if (end == $div.length) end = undefined;
      $div.css("background", "");
      if (end)
        $div.slice(start, end).css("background", "yellow");
       else
        $div.slice(start).css("background", "yellow");

      $("span").text('$("div").slice(' + start +
                     (end ? ', ' + end : '') +
                     ').css("background", "yellow");');
    }

    $("button").click(colorEm);
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
                    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js"></script>

  <script>
  $(document).ready(function(){

    function colorEm() {
      var $div = $("div");
      var start = Math.floor(Math.random() *
                             $div.length);
      var end = Math.floor(Math.random() *
                           ($div.length - start)) +
                           start + 1;
      if (end == $div.length) end = undefined;
      $div.css("background", "");
      if (end)
        $div.slice(start, end).css("background", "yellow");
       else
        $div.slice(start).css("background", "yellow");

      $("span").text('$("div").slice(' + start +
                     (end ? ', ' + end : '') +
                     ').css("background", "yellow");');
    }

    $("button").click(colorEm);

  });
  </script>

  <style>
  div { width:40px; height:40px; margin:10px; float:left;
        border:2px solid blue; }
  span { color:red; font-weight:bold; }
  button { margin:5px; }
  </style>
</head>
<body>
  <button>Turn slice yellow</button>
  <span>Click the button!</span>

  <div></div>
  <div></div>
  <div></div>
  <div></div>
  <div></div>

  <div></div>
  <div></div>
  <div></div>
  <div></div>
</body>

</html>
Выделяет все параграфы на странице,затем разделяет выборку таким образом, чтобы захватить только первый элемент.
$("p").slice(0, 1).wrapInner("<b></b>");
Выделяет все параграфы на странице,затем разделяет выборку таким образом, чтобы захватить только первый и второй элементы.
$("p").slice(0, 2).wrapInner("<b></b>");
Выделяет все параграфы на странице,затем разделяет выборку таким образом, чтобы захватить только второй элемент.
$("p").slice(1, 2).wrapInner("<b></b>");
Выделяет все параграфы на странице,затем разделяет выборку таким образом, чтобы захватить только второй и третий элементы.
$("p").slice(1).wrapInner("<b></b>");
Выделяет все параграфы на странице,затем разделяет выборку таким образом, чтобы захватить только третий элемент.
$("p").slice(-1).wrapInner("<b></b>");
Name Type