getElementById с помощью jQuery?

#jquery #getelementbyid

#jquery #getelementbyid

Вопрос:

У меня есть функция взаимодействия, которая присваивает идентификаторы. т.е. как

$('#mycooldiv' idNumber).text();

Мне интересно, как я могу это принять '#mycooldiv' idNumber и использовать в

var div = document.getElementById('#mycooldiv' idNumber); — потому что позже не работает?

Я тоже пробовал

 var elem = $('#mycooldiv'   idNumber);
var div = document.getElementById(elem);
  

и это тоже не удается?

Комментарии:

1. если вы используете jquery, какова цель использования document.getElementById. var elem = $('#mycooldiv' idNumber); и var div = document.getElementById('mycooldiv' idNumber); оба они одинаковы

2. Нет — это не так. Потому что некоторый кроссбраузерный код лучше размещать БЕЗ использования jQuery. Почему вы всегда возвращаетесь к решению jQuery? Иногда решение jQuery не всегда является лучшим — отсюда и причина вопроса.

3. я имею в виду, если вы используете jQuery, не пытайтесь использовать оба. я уже упоминал оба способа выполнения этой задачи в своем предыдущем комментарии

Ответ №1:

document.getElementById просто нужен идентификатор, # он не нужен.

var div = document.getElementById('mycooldiv' idNumber);

Комментарии:

1. пожалуйста, скажите мне, что это не так. хорошо, я в шоке от смущения 🙂

2. Это так, извините. Селекторы jQuery основаны на селекторах CSS, поэтому # префикс означает идентификатор, . префикс означает класс, а отсутствие префикса означает имя тега элемента (чтобы назвать только три простейших варианта).

Ответ №2:

 var elem = $('#mycooldiv'   idNumber);
var div = elem[0];
  

хотя, конечно, это менее эффективно, чем getElementById прямой вызов, и теряет преимущество селекторов jQuery в том, что нет ошибки, когда элемент не существует.

Ответ №3:

вы действительно близки к решению. В jquery обозначение $() дает вам ваш элемент, так что в вашем случае это сработало бы:

 var div = $('#mycooldiv' idNumber);
  

Это ваш желаемый элемент.

РЕДАКТИРОВАТЬ: если вы настаиваете на использовании document.getElementById, вы должны написать:

 var div = document.getElementById('mycoodiv' idNumber);
  

обозначение # используется только с jquery и обозначает идентификатор в css-синтаксисе, который использует jQuery (и который намного более мощный и универсальный, чем document.getElementById).

Комментарии:

1. привет — спасибо за ответ, но это не то, что я ищу.