Is it possible to use jQuery to read meta tags

132,461

Solution 1

Just use something like:

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

or this as well

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

Solution 2

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.

Solution 3

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)

Solution 4

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

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

use

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

Solution 5

$("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.

Share:
132,461

Related videos on Youtube

Ankur
Author by

Ankur

A junior BA have some experience in the financial services industry. I do programming for my own personal projects hence the questions might sound trivial.

Updated on April 18, 2021

Comments

  • Ankur
    Ankur about 3 years

    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.

  • Rafael Herscovici
    Rafael Herscovici over 12 years
    the parser you are specifing here ( and in a few more questions ) is for OG DATA ( you even say so yourself ) while the OP was asking about META TAGS and not OG Data.
  • Jim Speaker
    Jim Speaker over 9 years
    var author = $("meta[name='author']").attr("content"); The quoting was just a little off.
  • Qantas 94 Heavy
    Qantas 94 Heavy over 9 years
    @JimSpeaker: technically there is no need for quotes for a single word, though I would agree that it is better to include them regardless.
  • Denis G. Labrecque
    Denis G. Labrecque almost 4 years
    Reply link is dead.