Javascript 基本jQuery:Can';t使用';这';

Javascript 基本jQuery:Can';t使用';这';,javascript,jquery,html,css,this,Javascript,Jquery,Html,Css,This,我的目标是提醒用户,无论他们单击哪个形状,都会对应一条适当的消息 我现在的问题是,我使用了一个if语句,如果用户单击背景颜色为蓝色的东西,它会提醒他们单击了一个圆圈。否则他们会点击一个正方形 结果是,点击蓝色圆圈会提醒我们点击了一个正方形 $(“div”)。单击(函数(){ if($(this.css(“背景色”)=“蓝色”){ 警惕(“这是一个圆圈!”); }否则{ 警惕(“这是一个正方形!”); } }); #圆圈{ 宽度:100px; 高度:100px; 边界半径:50%; 背景颜色:蓝

我的目标是提醒用户,无论他们单击哪个形状,都会对应一条适当的消息

我现在的问题是,我使用了一个if语句,如果用户单击背景颜色为蓝色的东西,它会提醒他们单击了一个圆圈。否则他们会点击一个正方形

结果是,点击蓝色圆圈会提醒我们点击了一个正方形

$(“div”)。单击(函数(){
if($(this.css(“背景色”)=“蓝色”){
警惕(“这是一个圆圈!”);
}否则{
警惕(“这是一个正方形!”);
}
});
#圆圈{
宽度:100px;
高度:100px;
边界半径:50%;
背景颜色:蓝色;
利润率:10px;
}
.广场{
宽度:100px;
高度:100px;
背景颜色:绿色;
利润率:10px;
}

为了使其更具可扩展性,您可以使用类名作为提醒:

$("div").click(function() {
  alert('This is a ' + $(this).prop('class'))
}

CSS不是由类直接分配的,
.CSS(“背景色”)
将返回
rgb()
值,最好在您的条件下检查
class
id
属性,检查以下示例:

$("div").click(function() {
  if ( $(this).hasClass("square") ) {
    alert("This is a square!");
  } else {
    alert("This is a circle!");
  }
});
希望这有帮助

$(“div”)。单击(函数(){
if($(this).hasClass(“square”)){
警惕(“这是一个正方形!”);
}否则{
警惕(“这是一个圆圈!”);
}
});
#圆圈{
宽度:100px;
高度:100px;
边界半径:50%;
背景颜色:蓝色;
利润率:10px;
}
.广场{
宽度:100px;
高度:100px;
背景颜色:绿色;
利润率:10px;
}

.css()返回背景色的RGB值

$(“div”)。单击(函数(){
if($(this).css(“背景色”)==“rgb(0,0255)”){
警惕(“这是一个圆圈!”);
}否则{
警惕(“这是一个正方形!”);
}
});
#圆圈{
宽度:100px;
高度:100px;
边界半径:50%;
背景颜色:蓝色;
利润率:10px;
}
.广场{
宽度:100px;
高度:100px;
背景颜色:绿色;
利润率:10px;
}

您得到的响应是rgb值,而不是实际的英语单词

$(“div”)。单击(函数(){
if($(this).css(“背景色”)==“rgb(0,0255)”){
警惕(“这是一个圆圈!”);
}否则{
警惕(“这是一个正方形!”);
}
});
#圆圈{
宽度:100px;
高度:100px;
边界半径:50%;
背景颜色:蓝色;
利润率:10px;
}
.广场{
宽度:100px;
高度:100px;
背景颜色:绿色;
利润率:10px;
}

$(“div”)。单击(函数(){
log($(this.css(“背景色”));
if($(this).css(“背景色”)==“rgb(0,0255)”){
警惕(“这是一个圆圈!”);
}否则{
警惕(“这是一个正方形!”);
}
});
#圆圈{
宽度:100px;
高度:100px;
边界半径:50%;
背景颜色:蓝色;
利润率:10px;
}
.广场{
宽度:100px;
高度:100px;
背景颜色:绿色;
利润率:10px;
}

#
与CSS中的
不同,也不同于它们相应的HTML属性。这并不是给您带来问题的区别,而是有意引入的有目的的设计,您必须在应用程序中反映出来才能从中受益

#
id
属性仅适用于文档中唯一的用户定义标识符。document元素的名称空间字典的行为允许使用uri处理子文档片段。如果您希望在表示或行为方面具有一般性,
id
不是文档标记中应该使用的属性。这种反模式作为错误出现的级别是任意的,您的案例就是一个例子

元素的
属性用于用户定义的标识符,用于区分具有相同语义的元素,以实现行为或表示。理论上,与元素相关的无序类标识符集合是没有边界的。因此,当您在设计应用程序并且必须区分元素时,有一个简单的线性过程来决定是否需要用户定义的标识符和/或涉及哪些属性:

  • 除了id或class之外,还有其他元素或属性在语义上已经做出了这种区分吗?HTML标准严格定义了许多标记和属性,并以与定义一致的方式使用它们,您的应用程序将获得所有新的相关进步带来的好处,而无需重复工作。如果新的进步打破了你的工作,你会通过跟上标准提前知道什么时候会发生

  • 该区别是否有可能不适用于给定文档或适用于两个或多个元素?
    id
    属性定义为每个文档一个;如果它在静态文档中有用,则可以在URI中引用它,但它必须遵守一对一的映射,否则它就不是
    id
    。因此,当且仅当文档将某种质量与各种形状一一关联时,元素的形状才是合适的

  • 如果排除了上述两个从句,则区分属于
    数据
    属性。
    如果区分可能具有一些可以用CSS表示的代表性对应关系,则
    属性具有吸引力。但是,如果区别更具可量化性、连续性或抽象性,则最好将其表示为
    数据
    属性

  • 在您的例子中,区别在于元素的形状和用户单击。因为元素的形状被显式定义为HTML未包含,但延迟了t