Функция mootools $ (dollar) и эквивалентность document.createElement - PullRequest
1 голос
/ 05 июля 2011

В следующем коде вторая строка избыточна?первая строка не возвращает ссылку на созданный div?или я что-то упустил, есть ли какие-либо изменения, необходимые для переноса этого в jquery?

var div = document.createElement('DIV');
var div = $(div);
div.id='tip_holder';
div.style.zIndex=10000;
div.style.left='-1000em';
body.appendChild(div);

Ответы [ 2 ]

1 голос
/ 05 июля 2011

$ добавляет материал mootools к элементу. Чтобы сделать его избыточным, вам нужно переписать это (и я также переписал некоторый дополнительный избыточный код)

var div = new Element('DIV',{'id': 'tip_holder',
                             'styles':{
                                         zIndex:10000,
                                         left:'-1000em'                    

}});
$$('body')[0].adopt(div);

Если у вас уже есть действительная ссылка на тело откуда-то, просто используйте

$(body).adopt(div); //no " needed

или

body.adopt(div);//if it is already a mootools Element
0 голосов
/ 05 июля 2011

Согласно документации , функция $ - это просто карта для функции document.id.И функция document.id делает только две вещи:

  • Если вы даете ей строку, она возвращает элемент с таким идентификатором.
  • Если вы даете ему элемент (каквы делаете в своем примере) и текущий браузер не имеет встроенной поддержки HTMLElement (хм, IE), тогда элемент расширяется с помощью некоторых новых методов.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...