2012-12-02 60 views
0

我在Chrome中得到一個錯誤:對象<object>沒有方法 'methodeX'

遺漏的類型錯誤:對象S1A有沒有方法 'applyToSelection'

在Firefox(螢火蟲)

我得到這個:

類型錯誤:val.applyToSelection不是一個函數

我用的是瘦長核心和四肢修長,cssclassappliere

我的代碼:

<script type="text/javascript"> 
    window.onload = function() {  
    rangy.init(); 
     s1A = rangy.createCssClassApplier("css_1", true); 
    }; 

    //this is the Problem. 
    function dosome (el) { 
     var val = el.value; 
     val.applyToSelection(); 
    } 
</script> 

<body> 
    <button value="s1A" onclick="dosome(this);">test</button> 
</body> 

如果ID做到這一點:

<script type="text/javascript"> 
    window.onload = function() {  
    rangy.init(); 
     s1A = rangy.createCssClassApplier("css_1", true); 
    }; 
    function s1() { 
     s1A.applyToSelection(); 
    } 
</script> 

<body> 
    <button onclick="s1();">test</button> 
</body> 

它工作正常。但我需要它的一個選項字段,我想獲得價值

回答

0

我建議施存儲在每個屬性名稱對應的輸入值的對象:

window.onload = function() { 
    var appliers = {}; 
    rangy.init(); 
    appliers.s1A = rangy.createCssClassApplier("css_1", true); 
}; 

function dosome(el) { 
    var val = el.value; 
    appliers[val].applyToSelection(); 
} 
+0

我在JS一個初學者,我不明白你的答案,但我發現了另一個[這裏](http://stackoverflow.com/questions/5809310/jquery-how-do-i-apply-css-to-selected-text)。謝謝TIM你是一個機構 – kuki

相關問題