Reputation: 3630
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
Reputation: 93
You can get it with plain JavaScript DOM methods.The concept is easy:
Retrieve title
element from DOM.
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
Reputation: 75666
To get title and save it to a constant use:
const { title } = document;
Upvotes: 0
Reputation: 25239
$('title').text();
returns all the title
but if you just want the page title then use
document.title
Upvotes: 6
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
Reputation: 1198
Like this :
jQuery(document).ready(function () {
var title = jQuery(this).attr('title');
});
works for IE, Firefox and Chrome.
Upvotes: 4