Вопрос по jquery, dom – Можно ли использовать jQuery для чтения метатегов

145

Можно ли использовать jQuery для чтения мета-тегов. Если да, то знаете ли вы, какова будет базовая структура кода, или имеете ссылки на какие-либо учебные пособия.

Ваш Ответ

7   ответов
18

Этот парсер поможет тебе?

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.

Это тот же ответ, который я дал здесь:https://stackoverflow.com/questions/4059207

Парсер, который вы здесь указываете (и еще в нескольких вопросах), предназначен для OG DATA (вы даже сами так говорите), когда OP спрашивал о META TAGS, а не OG Data.
1

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

пример :

meta name="twitter:card" data-twitterCard="" content=""
$('[data-twitterCard]').attr('content');
280

Просто используйте что-то вроде:

var author = $('meta[name=author]').attr("content");
var author = $ (& quot; meta [name = & quot; author & reg;] & quot;). attr (& quot; content & quot;); Цитирование было только немного от.
@JimSpeaker: технически нет необходимости в кавычках для одного слова, хотя я бы согласился, что лучше включать их независимо.
5

.data();так что если у вас есть

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

использование

var author = $('#author').data("content"); // author = 'stuff!'
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, но он пока не дает комментариев)

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

решить мою проблему, такую как:

<meta name="author" content="a314r">
4
$("meta")

Должен вернуть вам массив элементов с именем тега META, а затем вы можете выполнить итерацию по коллекции, чтобы выбрать любые интересующие вас атрибуты элементов.

Похожие вопросы