Javascript 单击按钮时使用css显示图像

Javascript 单击按钮时使用css显示图像,javascript,jquery,Javascript,Jquery,当我在这个提琴中点击“蓝色”时,我试图显示一个带有css的图像: 但是没有显示图像,也没有应用css?myImage类中的宽度和高度属性太小,图像无法显示 我试过这个,它成功了: .myImage{ ... width:60px; height:70px; ... }​ 请在此处查看:myImage类中的宽度和高度属性太小,图像无法显示 我试过这个,它成功了: .myImage{ ... width:60px; height:70px;

当我在这个提琴中点击“蓝色”时,我试图显示一个带有css的图像:


但是没有显示图像,也没有应用css?

myImage类中的
宽度和
高度属性太小,图像无法显示

我试过这个,它成功了:

.myImage{
    ...
    width:60px;
    height:70px;
    ...
}​

请在此处查看:

myImage
类中的
宽度和
高度属性太小,图像无法显示

我试过这个,它成功了:

.myImage{
    ...
    width:60px;
    height:70px;
    ...
}​

请在此处查看:

您试图显示的图像是256x256px,但您使用的
div
是6x7px,因此仅显示一个很小的(透明)区域。如果要显示整个X,则需要将图像大小调整到正确的尺寸,使用
img
标记或使用
背景大小:100%
(CSS3因此浏览器支持有限)

您尝试显示的图像是256x256px,但您使用的
div
是6x7px,因此只有一个微小的(透明的)它的面积正在显示。如果要显示整个X,则需要将图像调整到正确的尺寸,使用
img
标记或使用
背景尺寸:100%
(CSS3,因此浏览器支持有限)

更新
下面是一个使用
img
标记而不是背景的工作示例。宽度和高度仍然在css中设置,但是
src
现在在javascript中设置

JavaScript

$("#red").click(red);
$("#blue").click(blue);

function red()
{
    $("#myDiv").removeClass('blue')
        .addClass('red')
        .text('test')
        .remove('img');
}

function blue()
{
      $("#myDiv").removeClass('red')
          .addClass('blue')
          .text('test')
          .append('<img src="http://oneseasonnation.com/www/wp-content/uploads/2008/11/2009/01/ip_icon_02_cancel.png" />');
}

起初的 您将其设置为具有固定宽度和高度的背景。背景图像缩放不受广泛支持,因此可能更容易使用指定的高度和宽度将图像添加到
div
。您需要使用
append
jQuery方法将其显式添加为
img
标记

您的图像正在设置中,但由于太大而不可见,为了证明这一点,我增加了
#myImage
分区的宽度和高度。

更新
下面是一个使用
img
标记而不是背景的工作示例。宽度和高度仍然在css中设置,但是
src
现在在javascript中设置

JavaScript

$("#red").click(red);
$("#blue").click(blue);

function red()
{
    $("#myDiv").removeClass('blue')
        .addClass('red')
        .text('test')
        .remove('img');
}

function blue()
{
      $("#myDiv").removeClass('red')
          .addClass('blue')
          .text('test')
          .append('<img src="http://oneseasonnation.com/www/wp-content/uploads/2008/11/2009/01/ip_icon_02_cancel.png" />');
}

起初的 您将其设置为具有固定宽度和高度的背景。背景图像缩放不受广泛支持,因此可能更容易使用指定的高度和宽度将图像添加到
div
。您需要使用
append
jQuery方法将其显式添加为
img
标记


您的图像正在设置中,但由于太大而不可见,为了证明这一点,我增加了
#myImage
分区的宽度和高度。

如果您仔细查看,图像正在显示,css也正在应用。无论何时单击,最右侧都会出现一个灰色的小框(您可能需要滚动)。这就是图像加载的地方。而且,你有一个打字错误。您使用的不是
addClass('myImage')
而是
removeClass('myImage')
。除此之外,您没有利用链接的强大功能。查看更新代码。它更好,也更有效。

如果您仔细看,图像正在显示,css也正在应用。无论何时单击,最右侧都会出现一个灰色的小框(您可能需要滚动)。这就是图像加载的地方。而且,你有一个打字错误。您使用的不是
addClass('myImage')
而是
removeClass('myImage')
。除此之外,您没有利用链接的强大功能。查看更新代码。这是更好的,它是有效的。

其他人已经陈述了正确的答案,但是你也应该考虑链接你的函数调用。您的
red()
函数可以缩短为:
$(“#myDiv”).toggleClass(“蓝色myImage red”).text('test')其他人已经陈述了正确的答案,但是你也应该考虑链接你的函数调用。您的
red()
函数可以缩短为:
$(“#myDiv”).toggleClass(“蓝色myImage red”).text('test')