mikkom
mikkom

Reputation: 3630

How to get current html page title with javascript

I'm trying to get the plain html page title with javascript.

I use firefox and with

document.title 

I get extra "- Mozilla Firefox" to the end of the title. I know it would be easy to get rid of this by modifying string but if they change text, use different format etc or some other browser modifies this differently I have extra text there again.

So, is there any cross browser way to get the plain tag content with javascript? Jquery solution is ok.

Upvotes: 66

Views: 120055

Answers (6)

Can Durmus
Can Durmus

Reputation: 93

You can get it with plain JavaScript DOM methods.The concept is easy:

  1. Retrieve title element from DOM.

  2. Get its content using innerHTML or innerText.

So:

const titleElement = document.getElementsByTagName("title")
const title = titleElement.innerText

console.log(title) // The title of the HTML page.

To retrieve, you can use other methods such as querySelector, or adding an id to title, getElementById.

Upvotes: 1

chovy
chovy

Reputation: 75666

To get title and save it to a constant use:

const { title } = document;

Upvotes: 0

Francesco
Francesco

Reputation: 25239

$('title').text();

returns all the title

but if you just want the page title then use

document.title

Upvotes: 6

Marcus
Marcus

Reputation: 5143

One option from DOM directly:

$(document).find("title").text();

Tested only on chrome & IE9, but logically should work on all browsers.

Or more generic

var title = document.getElementsByTagName("title")[0].innerHTML;

Upvotes: 138

Mike
Mike

Reputation: 1042

try like this

$('title').text();

Upvotes: 9

JuSchz
JuSchz

Reputation: 1198

Like this :

jQuery(document).ready(function () {
    var title = jQuery(this).attr('title');
});

works for IE, Firefox and Chrome.

Upvotes: 4

Related Questions