перечислить теги по имени

Я хочу пометить имена со страницы с помощью jquery, чтобы использовать их как переменные.

Пример:

Tags:
<title>Item Name</title>
<price>$10.00</price>

$tag_name[0] = first tag (this is where jquery code would go)
$tag_name[1] = second tag (this is where jquery code would go)

$item_array[$tag_name[0]][0] = "item name";
$item_array[$tag_name[1]][0] = "$10.00";

Как я могу получить фактическое имя тегов? Я знаю, как получить содержимое.


person JMC    schedule 17.05.2011    source источник
comment
возможный дубликат Может ли jQuery предоставить имя тега?   -  person Caspar Kleijne    schedule 17.05.2011
comment
Как бы вы определили, какой тег содержит какие данные? По положению в документе? Внутри некоторого содержащего элемента? и Т. Д.   -  person Rob Raisch    schedule 17.05.2011
comment
@Rob Raisch - все теги являются потомками ‹item›.   -  person JMC    schedule 17.05.2011
comment
Ваш код даже близко не соответствует Javascript.   -  person Lightness Races in Orbit    schedule 18.05.2011


Ответы (2)


Вы можете использовать свойство tagName, чтобы получить имя тега.

Однако вам по-прежнему нужен способ выбора тегов. Если они содержатся внутри элемента (например: .container), вы можете сделать что-то вроде:

$(":eq(0)", ".container")[0].tagName // title tag

Демо

person Town    schedule 17.05.2011
comment
Благодаря tagName направил меня в правильном направлении. Вероятно, будет использоваться: string DomElement::tagname (void) - person JMC; 17.05.2011
comment
@JMC: Я мог бы поклясться, что вы просили решение jQuery ... может быть, я ошибаюсь;) - person Town; 17.05.2011
comment
Я так и сделал, но потом понял, что использую php, а не javascript;). Забавно, как это работает. Большинство людей недоуменно смотрят на меня, когда я задаю вопросы, касающиеся phpquery. - person JMC; 17.05.2011

person    schedule
comment
хмммм Зачем вам $(this).get(0) почему бы просто не использовать this - person Naftali aka Neal; 17.05.2011
comment
мой ответ - идеальный правильный ответ на вопрос, как получить имя тега с помощью jquery. Почему я получил отрицательный балл? - person Ali Habibzadeh; 17.05.2011
comment
stackoverflow.com/questions/411688/ - person Ali Habibzadeh; 17.05.2011
comment
@XGreen в этом примере this относится к объекту jQuery, здесь он относится к элементу DOM - person Naftali aka Neal; 17.05.2011
comment
в документации jQuery Джона Резига используется такое же решение. Думаю, он бы знал api.jquery.com/get - person Ali Habibzadeh; 17.05.2011
comment
@Xgreen, вы должны цитировать свои источники - person Naftali aka Neal; 17.05.2011
comment
Как это повлияет на то, как вы оцениваете ответы? - person Ali Habibzadeh; 17.05.2011
comment
@XGreen да. Вы всегда должны цитировать свои источники, иначе это просто кража чужой работы - person Naftali aka Neal; 17.05.2011
comment
Я вставляю ответ из действительного источника для человека, который задал вопрос, чтобы решить его / ее проблему. Я убедился, что ответ был взят из действительного источника (сам автор библиотеки). Вы утверждали, что знаете лучше, давая отрицательную оценку, но теперь вам это не нравится, потому что я вставил ссылку на веб-сайт resigs, показывающий то же решение. - person Ali Habibzadeh; 17.05.2011
comment
@XGreen: это действительно сказано в документации, однако эта строка лишняя. this уже является элементом DOM, поэтому $(this).get(0) создает объект jQuery из элемента, а затем получает первый элемент из массива, который является элементом. Лично я бы сказал комментарий, чтобы подчеркнуть, что этого было бы достаточно, и что отрицательный голос является резким, но я не голосующая полиция. - person Town; 17.05.2011
comment
@XGreen вы опубликовали исходный код только после того, как его запросили - person Naftali aka Neal; 17.05.2011
comment
@XGreen см. это: meta.stackexchange.com/questions/19508/ - person Naftali aka Neal; 17.05.2011
comment
@Neal: я действительно не думаю, что пример из документации API можно разумно считать кражей чужой работы. @XGreen: всегда полезно публиковать свои источники, потому что это дает человеку, читающему ваш ответ, возможность увидеть документацию, окружающую его, а не просто фрагмент кода. - person Town; 17.05.2011
comment
@Город, ну, я даже не могу отменить голосование. мой минус был не за отсутствие источника, а за дезинформацию о this - person Naftali aka Neal; 17.05.2011
comment
@Neal: я знаю, я понимаю причину отрицательного голоса. Тем не менее, ответ действительно отвечает на вопрос, он просто имеет небольшие накладные расходы в производительности, поэтому, ИМХО, я бы сказал, что комментария, указывающего на это, было бы достаточно, давая отвечающему возможность изменить свой ответ. . Это зависит от вас, это ваши голоса! :) - person Town; 17.05.2011
comment
Этот сайт не предназначен для написания университетских эссе. Это для того, чтобы люди могли получить ответ на свой вопрос, чтобы они могли быстрее выполнять свою работу. Если то, что вы говорите, было правдой, люди, которые гуглят форумы, чтобы найти ответ на работе, должны быть уволены, потому что им платят за использование частей работы других людей. - person Ali Habibzadeh; 17.05.2011
comment
@Town с отрицательным голосом, я могу убрать его, когда пользователь исправит ответ, до тех пор SO не позволяет мне удалить отрицательный голос - person Naftali aka Neal; 17.05.2011
comment
@XGreen @Town, однако, нет причин пропагандировать плохие стандарты. Если вы пишете $(this).get(0), тогда вы ленивы и не думаете, это просто ответ низкого качества, и за него проголосовали. - person Raynos; 17.05.2011
comment
@Raynos: Скажи это Джону Резигу ;D - person Town; 17.05.2011
comment
@XGreen не беспокойся об этом. Вы уже исправили это. Я просто защищаю его точку зрения. @Town John Resig делает это неправильно; D, он не какой-то несомненный бог, он просто js-разработчик. - person Raynos; 17.05.2011