Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Changing meta-tags dynamic with jQuery

These are my meta-tags:

<meta property="og:image" content="assets/css/gfx/skold.png"/>
<meta property="og:title" content="Den historie hjemmesiden for Norges Golfforbund"/>
<meta property="og:description" content="Her finner du alle de historie tingene som har skjedd i Norges golfhistorie gjennom tidene" />
<meta property="og:url" content="http://###"/>
<meta property="og:site_name" content="Norges Golfklubb"/>
<meta property="og:type" content="sport"/>

And I am trying to change them dynamic with the following code:

$("meta[property=og:title]").attr("content", result.title);

But I am keep getting Syntax error, unrecognized expression: [property=og:title] in Firebug.

Using the latest version of jQuery. Does anyone know what I am doing wrong?

like image 335
OptimusCrime Avatar asked Sep 05 '11 13:09

OptimusCrime


4 Answers

I think you should escape : look at the documentation No need of ":".

$("meta[property='og\\title']").attr("content", result.title); 
like image 109
Nicola Peluchetti Avatar answered Sep 19 '22 20:09

Nicola Peluchetti


$("meta[name='og:title']").attr('content', 'my new title'); 

Using "property=" does not work in Chrome

like image 35
Curtis Avatar answered Sep 22 '22 20:09

Curtis


You could give each meta element an ID or Class.

$('#metaelement').attr('content', 'my new meta description');
like image 20
Frankey Avatar answered Sep 22 '22 20:09

Frankey


Make sure your quotes are like this:

$('meta[property="og:description"]').attr('content',"$modified_desc" );
like image 37
KDW Avatar answered Sep 19 '22 20:09

KDW