2012-12-20 61 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。在兩個選擇器之間添加逗號。 –