Чи можна використовувати jQuery для читання метатегів


157

Чи можна використовувати jQuery для читання метатегів. Якщо це так, чи знаєте ви, яка буде основна структура коду, або маєте посилання на будь-які навчальні посібники.

Відповіді:


307

Просто використовуйте щось на кшталт:

var author = $('meta[name=author]').attr("content");

3
var author = $ ("meta [name = 'author']"). attr ("content"); Цитування було трохи відключене.
Джим спікер

1
@JimSpeaker: технічно немає жодних лапок для одного слова, хоча я б погодився, що краще включити їх незалежно.
Qantas 94 Важкий

20

Чи допоможе вам цей аналізатор?

https://github.com/fiann/jquery.ogp

Він аналізує мета-дані OG на JSON, тому ви можете просто використовувати дані безпосередньо. Якщо ви віддаєте перевагу, можете, звичайно, читати / писати їх безпосередньо за допомогою JQuery. Наприклад:

$("meta[property='og:title']").attr("content", document.title);
$("meta[property='og:url']").attr("content", location.toString());

Зверніть увагу на одиничні лапки навколо значень атрибутів; це запобігає помилкам розбору в jQuery.


3
аналізатор, який ви вказуєте тут (і ще в декількох питаннях), призначений для OG DATA (ви навіть самі так говорите), в той час як ОП запитували про META TAGS, а не OG Data.
Дементік

Посилання для відповідей мертве.
Денис Г. Лабрекк

8

Я просто спробував це, і це могла бути помилка jQuery, що відповідає версії, але

$("meta[property=twitter:image]").attr("content");

призвело до наступної синтаксичної помилки для мене:

Error: Syntax error, unrecognized expression: meta[property=twitter:image]

Мабуть, це не любить товсту кишку. Я зміг виправити це за допомогою подвійних та одинарних лапок на кшталт цього:

$("meta[property='twitter:image']").attr("content");

(версія jQuery 1.8.3 - вибачте, я б зробив цей коментар до @Danilo, але це ще не дозволить мені коментувати)


5

jQuery тепер підтримує .data();, тому якщо у вас є

<div id='author' data-content='stuff!'>

використання

var author = $('#author').data("content"); // author = 'stuff!'

4
$("meta")

Потрібно повернути масив елементів, ім'я тегу яких META, і тоді ви можете перебрати колекцію, щоб вибрати будь-які атрибути елементів, які вас цікавлять.


1

Для вибору мета-імені twitter можна додати атрибут даних.

приклад:

meta name="twitter:card" data-twitterCard="" content=""
$('[data-twitterCard]').attr('content');
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.