1

我曾尝试使用

$('meta[name=description]').attr('content', 'new value');

但是以上内容在任何浏览器中都不起作用。

请建议

4

2 回答 2

4
jQuery(document).ready(function($) { 
    $('meta[name=description]').attr('content', 'new value');
})
于 2012-04-14T21:46:16.107 回答
4

对我来说似乎很好。

$(function () { // dom ready
    var $meta = $('meta[name=description]').attr('content', 'hi');
    $('body').text($meta.attr('content'));​
});

http://jsfiddle.net/F7GbX/

您可能没有检查 dom 何时准备就绪。因此元标记尚不可用。

呈现 html 页面时,您编写的所有标签(例如,<meta>可能会在您的 javascript 准备就绪后加载)。因此,您必须在domready调用中运行您的代码,以便在加载页面中的所有标记之前不会运行代码。

在 jQuery 的底层——这个方法使用DOMContentLoaded. https://developer.mozilla.org/en/DOM/DOM_event_reference/DOMContentLoaded

于 2012-04-14T21:47:47.133 回答