2012-12-20 65 views
0

如何让Javascript输入文本看起来像HTML?样式表没有被应用到Javascript,但对HTML工作正常。javascript和css样式表不工作

https://raw.github.com/blackberry/jQueryMobile-BB10-Theme/master/kitchenSink/lib/BlackBerry-JQM-all.css

https://raw.github.com/blackberry/jQueryMobile-BB10-Theme/master/kitchenSink/lib/BlackBerry-JQM-all.js

http://jsfiddle.net/zaDN2/

<html> 
<head> 
    <link rel="stylesheet" href="lib/BlackBerry-JQM-all.css" /> 
    <script src="lib/BlackBerry-JQM-all.js"></script> 
</head> 
<body onLoad="onPageLoad()"> 
    <div data-role="content" id=content></div><!-- /content --> 
    <input type=text id=tPlay2 placeholder=Play_HTML> 
    <script type="text/javascript"> 
     function setContent(id, msg) 
     { 
      var ele = document.getElementById(id); 
      if (ele) { 
       ele.innerHTML = msg; 
      } 
     } 
     function onPageLoad() 
     { 
      var sPlay; 

      sPlay = '<input type=text id=tPlay1 placeholder=Play_JS>'; 

      setContent("content", sPlay); 
     } 
    </script> 
</body> 

+5

你可以让一个[小提琴](http://jsfiddle.net/)展示这个问题? –

+0

完成后,jsFiddle无法正确加载样式表,它在Chrome/BB 10浏览器中正常工作 – Rudy

+1

样式表未加载,因为文件中MIME类型错误。 MIME类型是文本/纯文本而不是文本/ CSS在小提琴中。 – Jrod

回答

0

你搜索样式表适用于那些类型的文本输入一个CSS类

例如,你可能有:

input[type='text'] 
{ 
    background:red; 
} 

更改成:

input[type='text'], .jsinput 
{ 
    background:red; 
} 

,然后改变你的脚本行成

sPlay = '<input class="jsinput" type=text id=tPlay1 placeholder=Play_JS>'; 

我的回答会更准确,如果你发布你的样式表也一样。

+0

那么他生成的输入使用JS,因为我从他的代码理解,所以也许如果你直接应用的CSS类,它将工作 – 2012-12-20 15:48:47

+0

不,你不明白,该属性(红色背景)将适用于所有输入类型文本和到他使用js生成的那个单一控件(将会有.jsinput类的那个) – 2012-12-20 15:53:05

+1

在这种情况下,你的css中仍然存在一个bug。在两个选择器之间添加逗号。 –