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
ここで指定しているパーサー(およびいくつかの質問で)は、OPがMET TAGSについて質問していて、OG Dataについて質問していないときのOG DATA(自分で言うこともあります)用です。
認知症

返信リンクが機能していません。
Denis G.Labrecque

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');
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.