Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Can';t衰减范围或图像,但我可以衰减DIV?_Javascript - Fatal编程技术网

Javascript Can';t衰减范围或图像,但我可以衰减DIV?

Javascript Can';t衰减范围或图像,但我可以衰减DIV?,javascript,Javascript,javascript新手。。我需要一点帮助 我有一个SPAN或IMG,我想用javascript淡出它。但是,当我这样做时,什么也不会发生: // HTML <span id='test_one'>Span Text Here</span> <img src='img_src_here' id='test_two'> // JavaScript $(test_one).fadeOut(); $(test_two).fadeOut(); //HTML 此处为

javascript新手。。我需要一点帮助

我有一个SPAN或IMG,我想用javascript淡出它。但是,当我这样做时,什么也不会发生:

// HTML
<span id='test_one'>Span Text Here</span>
<img src='img_src_here' id='test_two'>

// JavaScript
$(test_one).fadeOut();
$(test_two).fadeOut();
//HTML
此处为跨距文本
//JavaScript
$(测试一).fadeOut();
$(test_two).fadeOut();
但如果我这样做,它会正常工作:

// HTML
<div id='test_one'>Span Text Here</div>

// JavaScript
$(test_one).fadeOut();
//HTML
此处为跨距文本
//JavaScript
$(测试一).fadeOut();
我只是犯了一个愚蠢的错误,还是疯了


谢谢Coulton假设您使用的是jQuery,那么您的选择器不正确:

$('#test_one').fadeOut();
请注意,它应该是一个字符串(单引号或双引号),并使用“#”按id进行选择

这应该起作用:

// HTML
<span id='test_one'>Span Text Here</span>
<img src='img_src_here' id='test_two'>

// JavaScript
$('#test_one').fadeOut();
$('#test_two').fadeOut();
//HTML
此处为跨距文本
//JavaScript
$('test_one').fadeOut();
$('test_two').fadeOut();

编辑


至于为什么它与
div
一起工作,而不是
img
span
一起工作,我并不完全清楚,但正如@Steve所指出的,可以通过使用元素的
id
作为全局变量来引用元素。然而,这是非标准行为,只有一些浏览器(臭名昭著的IE)执行元素
id
s到全局名称空间的映射。IE还允许通过
getElementById()
获取命名元素!见和。我建议不要依赖这种行为。

假设您使用的是jQuery,那么您的选择器不正确:

$('#test_one').fadeOut();
请注意,它应该是一个字符串(单引号或双引号),并使用“#”按id进行选择

这应该起作用:

// HTML
<span id='test_one'>Span Text Here</span>
<img src='img_src_here' id='test_two'>

// JavaScript
$('#test_one').fadeOut();
$('#test_two').fadeOut();
//HTML
此处为跨距文本
//JavaScript
$('test_one').fadeOut();
$('test_two').fadeOut();

编辑


至于为什么它与
div
一起工作,而不是
img
span
一起工作,我并不完全清楚,但正如@Steve所指出的,可以通过使用元素的
id
作为全局变量来引用元素。然而,这是非标准行为,只有一些浏览器(臭名昭著的IE)执行元素
id
s到全局名称空间的映射。IE还允许通过
getElementById()
获取命名元素!见和。我建议不要依赖这种行为。

我认为这是一个愚蠢的错误(我们都会犯),您的选择器应该是
$(“#test_two”)


请看:

我会说这是一个愚蠢的错误(我们都犯过),您的选择器应该是
$('test\u two')


请看:

首先,您使用的是哪个库?jQuery?(JavaScript中没有内置
fadeOut()
方法。)


尝试将
的CSS属性设置为
display:block
display:inline block
。这将使淡出工作。它在
元素上工作的原因是默认情况下它是块元素<默认情况下,代码>和
元素以内联方式显示。

首先,您使用的是哪个库?jQuery?(JavaScript中没有内置
fadeOut()
方法。)


尝试将
的CSS属性设置为
display:block
display:inline block
。这将使淡出工作。它在
元素上工作的原因是默认情况下它是块元素<默认情况下,代码>和
元素以内联方式显示。

您必须像这样高效地使用选择器 对于“id”使用:

对于此类课程:

$('.myClass').fadeOut();

等等……

您必须像这样高效地使用选择器 对于“id”使用:

对于此类课程:

$('.myClass').fadeOut();

等等……

在您的样式中添加以下内容:

span#test_one { display:inline-block; }
当然:

  $("#test_one").fadeOut(); 

您提供的代码只能在IE中使用。

在您的样式中添加以下内容:

span#test_one { display:inline-block; }
当然:

  $("#test_one").fadeOut(); 

您提供的代码只能在IE中使用。

虽然这更正确,但我相信他的版本仍然可以使用,因为您只需将元素的ID当作全局变量使用,就可以引用DOM中的元素。这很有效。谢谢现在无法接受您的答案,必须等待5分钟。哈。@Steve我不相信这是标准行为-这似乎是IE/Opera/Chrome特有的,在IE/Opera/Chrome中,id或名称的元素可以通过全局命名空间访问-请参阅和。我建议不要依赖这种行为。@phpnerd211不用担心,稍后再从头开始:)@No.good.at.coding:它在Safari(即WebKit)中也有效。我认为这是非常糟糕的编码实践,但从理论上讲,如果使用这些浏览器之一(即Gecko/Firefox以外的任何浏览器),它应该可以工作。虽然这更正确,但我相信他的版本仍然可以工作,因为你可以通过简单地使用它们的ID来引用DOM中的元素,就像它们是全局变量一样。它可以工作。谢谢现在无法接受您的答案,必须等待5分钟。哈。@Steve我不相信这是标准行为-这似乎是IE/Opera/Chrome特有的,在IE/Opera/Chrome中,id或名称的元素可以通过全局命名空间访问-请参阅和。我建议不要依赖这种行为。@phpnerd211不用担心,稍后再从头开始:)@No.good.at.coding:它在Safari(即WebKit)中也有效。我认为这是一种非常糟糕的编码实践,但从理论上讲,如果使用这些浏览器之一(即Gecko/Firefox以外的任何浏览器),它应该可以工作。@Steve Harrison Odd,很高兴知道,尽管我只是改变了这一点,它似乎可以工作(可能他的版本不推荐了?。@Steve Harrison Odd,很高兴知道,虽然我只是改变了它,但它似乎起了作用(也许他的版本已经被弃用了?),严格来说,它是一个display:inline块元素,因为它有自己的框。实际上,是display:inline元素,因为它没有方框,而是一个方框列表(glyph和inline块)。严格来说,是display:inline块元素,因为它有自己的方框。实际上,是display:inline元素,因为它没有框,而是一个框列表(glyph和inline块)。