Javascript JQuery.attr-won';无法检索或更改值

Javascript JQuery.attr-won';无法检索或更改值,javascript,jquery,html,Javascript,Jquery,Html,我试图使用jQuery更改HTML属性,但无论我做什么,我都无法使用jQuery的.attr() 为了测试,我写了 alert($("#logo").attr("title")); 即使我有一个带有id=“logo”和标题的img,警报仍然是空白的 我的完整方法: function switchVideo(videoID) { var videoPlayer = document.getElementById("example_video_1"); videoPlayer.sr

我试图使用jQuery更改HTML属性,但无论我做什么,我都无法使用jQuery的.attr()

为了测试,我写了

alert($("#logo").attr("title"));
即使我有一个带有id=“logo”和标题的img,警报仍然是空白的

我的完整方法:

function switchVideo(videoID) {
    var videoPlayer = document.getElementById("example_video_1");
    videoPlayer.src = "video/Occam.webm";
    videoPlayer.load();
    $("#example_video_1").attr("poster", "video/ss.png");

    //Doesn't work:
    alert($("#logo").attr("title"));
    $("#logo").fadeOut();

    videoPlayer.play();
}
我的淡出工作正常,所以我知道我正确导入了jQuery

我在另一个文档中使用了它,所以文档中一定有其他东西把它搞乱了。有人知道为什么这个简单的方法行不通吗


您可以在

上看到源代码页。如果您使用的是最新版本的jQuery,您应该使用
prop

您现在应该使用$.fn.prop:

您的div有id徽标,而不是img。 尝试:


$(“#logo img”).attr(“title”)

您也可以根据您的HTML来尝试:

alert( $("#logo a img").attr("title") );

您有以下带有id
徽标的标记

<div id="logo">
......
</div>
您可能知道,
.attr
方法检索给定元素的属性值,但该
没有名为title的属性。因此,要确认这一点,请尝试检索确实存在的属性,例如
id
。所以试试这个

alert($("#logo").attr("id"));
这将返回属性的值。需要注意的重要一点是,jQuery只查找给定元素的属性,而不扫描子元素

所以,让它在你的情况下发挥作用。您需要执行以下操作

alert($("#logo img").attr("title"));

希望它有帮助

这个函数什么时候调用?
prop
应该用于像
checked
这样的布尔元素,但是我在JQuery文档中找不到任何东西说它不适合像
title
这样的普通属性,你确定吗?(不管怎样,这实际上对结果没有任何影响-)你确定吗?(不管怎样,这实际上对结果没有任何影响)是的,这让我等了一段时间才可以
alert($("#logo img").attr("title"));