是否有可能參數化jQuery addClass()
方法? 像,有一個顏色屬性的css類,當addClass()
方法被調用時設置?參數化jQuery addClass?
我希望是有道理的,因爲我很新JavaScript和CSS。如果這很重要,我正致力於擴展MediaWiki VisualEditor的。這種方法用於立即顯示/渲染編輯器中所做的更改。但是我找不到需要參數化的例子。
如果這是不可能的,我很想知道如何去做。
如果不是,也許有人可以建議如何實現我想要的另一種方式?
編輯:
這就是當前的狀態: 當我加入一些註釋文字,比方說,一個languageAnnotation,這就是所謂的:
this.$element
.addClass('ve-ce-languageAnnotation')
.addClass('ve-ce-bidi-isolate')
.prop({
lang: this.model.getAttribute('lang'),
dir: this.model.getAttribute('dir'),
title: this.constructor.static.getDescription(this.model)
});
這是VE-CE-languageAnnotation:
.ve-ce-languageAnnotation {
border-bottom: 1px dashed #ccc;
background-color: #ebf3f5;
}
這是VE-CE-比迪 - 分離株:
.ve-ce-bidi-isolate {
unicode-bidi: isolate;
unicode-bidi: -moz-isolate;
unicode-bidi: -webkit-isolate;
}
我把它解釋爲prop()
函數設置某種參數。因此,這是我想爲我的文字顏色標註:
this.$element
.addClass('ve-ce-textColorAnnotation')
.prop({
color: this.model.getAttribute('style'),
title: this.constructor.static.getDescription(this.model)
})
;
隨着VE-CE-TextColorAnnotation:
.ve-ce-textColorAnnotation {
color: red;
}
這總是產生紅色。當我嘗試輸入其他東西然後是合法的顏色時,沒有任何反應。
Edit2:我想一個選擇是爲每種可能的顏色創建一個類,並根據參數添加正確的類?像這樣:
var color = this.model.getAttribute('style');
if (color == 'blue') {
this.$element.addClass('blueText')
} else if (...
但這看起來不是個好主意。
編輯3:According to the top answer in this question,我想要的是不可能的 - 但我可以直接應用一個屬性,而不使用類,通過使用這個$ element.css('attr','value')。我想我可以用它來滿足我需要的東西。
你能告訴我們你到目前爲止所嘗試過的嗎? – Gerwin
你的意思是總是添加所說的類,當addClass被調用? – GMchris
*喜歡,在調用addClass()方法時設置一個具有color屬性的css類?*這是'addClass()','.removeClass()'和'.toggleClass()'的主要目標。 。只要把課堂當成一個國家(即開,關,高,低,顯示,隱藏等等) – zer00ne