Принял ли jQuery обратный подход к объединению методов? - PullRequest
2 голосов
/ 15 января 2009

Это только я, кто находит следующий код по сути обратно?

Я использую эту публикацию в качестве ссылки.

// create the inner div
var $inner = $("<div>inner</div>")

   // append it to a new outer div
   .appendTo("<div>outer</div>")

   // next change the jQuery chain to the "outer" div 
   .parent()

      // append the outer div to the body
      .appendTo("body")

   // finally, go back to the last destructive command, 
   // giving us back a pointer to the "inner" div
   .end();

Мой первоначальный подход состоял бы в том, чтобы захватить тело , затем добавить внешний к телу и затем добавить внутренний к внешнему. 1014 *

Подходя к нему назад, а затем прыгая по иерархии с такими вещами, как parent (), просто кажется мне немного любопытным ...

Ответы [ 3 ]

7 голосов
/ 15 января 2009

Вы можете сделать это и другим способом:

$('body').append('<div>outer</div>').append('<div>inner<div>');

но это оставит вас на body

Чтобы получить inner, вам нужно:

$('body').append('<div>outer</div>').append('<div>inner<div>')
.find('div:contains(inner)');
2 голосов
/ 15 января 2009

С jQuery вы можете делать то, что вам нравится. Если этот конкретный стиль вам не подходит, вам не нужно его использовать.

Я считаю, что объединение методов помогает во многих случаях, но в конкретном случае, когда вы меня затронули, я бы сделал что-то другое - я согласен, что это не очень понятно.

1 голос
/ 15 января 2009

не совсем, все зависит от того, что вы хотите потом объединить, используя appendTo, вы получаете доступ к новому элементу, а не к элементу, к которому вы добавили.

...