2013-04-18 49 views
-4

有谁知道我可以如何将CSS类应用于JavaScript变量?将CSS类应用于JavaScript变量?

我有两个变量:

var usr = 'You: ' + userinput; 
var rpl = 'Chatbot: ' + chatbot.transform(userinput); 

的USR变量是人类输入到系统中,并且RPL可变触发从一个数据库的响应。

我需要每个变量都有不同的CSS类应用于它。

任何人都可以帮忙吗?

+1

你在哪里输出你的聊天?这是一个正常的HTML页面,你可以在你的usr和rpl字符串中使用span标签吗?如果是这样,只需在那里添加css类。 – ToBe

+1

这些变量做了什么?他们如何注入页面? –

+0

@SarahChampion为了让你知道,我会将我的答案(包括文档示例)扩展到(希望)让你进一步受益。 – VoidKing

回答

0

它取决于如何将这些变量注入页面,但您可能想要将它们包裹在span标记中,并查看最终结果。

var usr = "<span class='user-input'>You: " + userinput + "</span>"; 
var rpl = "<span class='chatbot'>Chatbot: " + chatbot.transform(userinput) + "</span>"; 

在您的CSS中使用.user-input ans.chatbot。

你可以做的另一件事是尝试寻找你的数据通过源代码注入页面的html标签。有可能通过javascript(jquery)将类添加到有针对性的html标签。

1

您无法将CSS类分配给javascript变量。

如果您使用的是HTML,那么您可以使用javascript/jquery将值插入已经设置为类的HTML元素,或者可以使用javascript/jquery更改元素的类。正如其他人所说的,我们需要知道你输出变量的位置。 CSS样式HTML页面(或其他页面,如XML),它不能设计脚本语言,这是没有意义的,因为JavaScript(或任何其他脚本语言)未被“显示”。

为了延长我的答案,认为有以下页面:

<html> 
    <body> 
     <p class="one"> 
      I am the first paragraph's text. 
     </p> 
     <p class="two"> 
      I am the second paragraph's text. 
     </p> 
    </body> 
</html> 

现在你有下面的CSS:

p.one 
{ 
    color: #f00; 
} 
p.two 
{ 
    color: #000; 
} 

目前的情况是第一款将有红色文字和其次将有黑色的文字。但是,您可以使用 javascript/jquery以多种方式更改。一个例子是如下:

document.getElementsByClassName("one").ClassName = "two"; 
document.getElementsByClassName("two").ClassName = "one"; 

与上面的代码,现在该段的颜色将被切换(需要注意的是你是不是仅限于“=”操作是很重要的。如果你用“+ =”你可以在不删除的情况下添加一个类(也就是说,一个元素将被赋予另一个类而不会删除旧的类)。使用javascript删除一个类,只需使用类似于:document.getElementsByClassName("one").ClassName = "";

最后,另一种方法可能会简单是要改变元素本身的样式,就像这样(同样,这里是一个你可能会用到的链接:http://answers.oreilly.com/topic/1819-how-to-change-an-elements-css-properties-with-javascript/):

document.getElementsByClassName("one").style.color = "#000"; 

这是我喜欢做的,但我可能会使用jQuery的方式,亲自方式:

$(".one").css("color", "#000"); 
+0

您也可以将新类添加到HTML元素通过javascript/jQuery。 – gaynorvader

+0

@gaynorvader我以为我说过吗? – VoidKing

+0

@gaynorvader哦,没关系,我明白了,是的,你说得对。 – VoidKing

0

CSS用于样式标记元素(HTML等)。您不能将CSS直接应用于Javascript变量。

但是,当您将变量内容转换为HTML时,可以将数据封装在HTML标记中并将CSS样式应用于它们。