2012-11-16 72 views
0

我設置了一個CSS類來JS中的一些選擇選項。這門課包括邊緣風格。它在FF中工作,但不在IE和Chrome中工作。在IE和鉻的選擇選項的餘量不起作用

window.onload = function() { 
    replace('edit-field-region-tid'); 
    replace('edit-tid'); 
} 
function replace(id) { 
    var i = 0; 
    var s = document.getElementById(id); 
    for (i; i < s.options.length; i++) { 
     if (find(s.options[i].text, id, i)) { 
      s.options[i].setAttribute("class", "sub_options"); 
     } 
    } 
} 
function find(str, id, option_id) { 
    var i; 
    var s = document.getElementById(id); 
    for (i = 0; i < str.length; i++) { 
     if (str.charAt(i) == '-') { 
      s.options[option_id].text = str.cutAt(0, ""); 
      return true; 
     } 
    } 
    return false; 
} 
String.prototype.cutAt = function(index, char) { 
     return this.substr(index+1, this.length); 
} 

和CSS:

.sub_options{ 
    margin-left:20px; 
    text-indent:-2px; 
} 

任何想法感謝!

FireFox

Chrome

+0

你能顯示錯誤信息嗎? – Damask

+0

你能否發佈html代碼和錯誤控制檯? – SachinGutte

+0

怎麼不工作?也許創建一個小提琴或附上屏幕截圖 – Koenyn

回答

1

你可以這樣說:http://jsbin.com/oyatis/1/edit

$('select option').prepend('&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'); 

我使用jQuery的CSS的方法試過,但不獲取受到影響,但一些非破,空格是有效移動元素的方式。看看這是否適合你。

+0

我改變了s.options [i] .setAttribute(「class」,「sub_options」); line to $(s.options [i])。prepend('         ');它正在運作完美。感謝JaiPSah。 – Sardor

+0

我很高興這爲你工作。謝謝。 – Jai