Ankur
Ankur

Reputation: 51100

Is it possible to use jQuery to read meta tags

Is it possible to use jQuery to read meta tags. If so do you know what the basic structure of the code will be, or have links to any tutorials.

Upvotes: 169

Views: 137211

Answers (6)

MiffTheFox
MiffTheFox

Reputation: 21565

Just use something like:

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

or this as well

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

Upvotes: 333

Danilo Moret
Danilo Moret

Reputation: 1670

Would this parser help you?

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

It parses meta OG data to JSON, so you can just use the data directly. If you prefer, you can read/write them directly using JQuery, of course. For example:

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

Note the single-quotes around the attribute values; this prevents parse errors in jQuery.

Upvotes: 22

PoussinDev
PoussinDev

Reputation: 21

For select twitter meta name , you can add a data attribute.

example :

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

Upvotes: 1

Sauce
Sauce

Reputation: 662

jQuery now supports .data();, so if you have

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

use

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

Upvotes: 5

charltoons
charltoons

Reputation: 2001

I just tried this, and this could be a jQuery version-specific error, but

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

resulted in the following syntax error for me:

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

Apparently it doesn't like the colon. I was able to fix it by using double and single quotes like this:

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

(jQuery version 1.8.3 -- sorry, I would have made this a comment to @Danilo, but it won't let me comment yet)

Upvotes: 9

illvm
illvm

Reputation: 1346

$("meta")

Should give you back an array of elements whose tag name is META and then you can iterate over the collection to pick out whatever attributes of the elements you are interested in.

Upvotes: 4

Related Questions