/ / Як я читаю всі <meta ..> з <head> за допомогою jQuery? - javascript, jquery, мета-теги

Як я читаю всі <meta ..> з <head> з використанням jQuery? - javascript, jquery, мета-теги

На сторінці <head> я маю <script>, <style>, <link> і <meta> теги. Я просто хочу прочитати мета-інформацію з голови та нічого іншого. Мене в основному цікавить <meta name="description"..> і <meta name="keywords"...>.

Я хочу повний метатег, а не його вміст. Я знаю, що вмію читати вміст, роблячи

$("head meta[name=descritption]").attr("content")

але це не те, що я хочу. Я хочу такий результат

<meta name="description" content="" >
<meta name="keywords" content="" >

Який ефективний спосіб це зробити?

Відповіді:

1 для відповіді № 1

jQuery не має простого способу сказати "отримати HTMLвибраного на даний момент елемента. "Ваші метатеги, мабуть, також не містять вмісту, тому потрібно мати лише HTML метатегів. Я не впевнений, чому ви ставите [name=description] умова там, як здається, суперечить тому, що ви хочете, але ви можете зберегти це:

var html = "";
$("head meta").each(function () {
html += $(this).clone().wrap("<div>").parent().html();
});
alert(html);

1 для відповіді № 2

document.getElementsByTagName("meta");

Це я зроблю. І о, дивіться, жоден jQuery не потрібен, оскільки це простий вибір тегів.

Але якщо jQuery є обов'язковим:

$("meta");

Зі сторони, якщо ви просто хотіли всі метатеги, чому ви робили додаткові речі?


0 для відповіді № 3

Далі повертає масив усіх метатегів:

$("meta"); // [<meta name="description" content="">, etc, etc]

0 для відповіді № 4

$("head meta") надає масив об’єктів jQuery, і ви можете використовувати їх .get(n) отримати n-е як звичайне DOM об’єкт. На цій сторінці:

$("head meta").get(0)

дає

<meta name="title" content="javascript - jQuery how do i read all &amp;lt;meta..&amp;gt; from &amp;lt;head&amp;gt; - Stack Overflow">