я сделал так, как вы показали в примере
$(selector).createTablePlugin({
styleForTh: {
border: 'solid 5px red'
},
.....
В плагине у меня для таблицы несколько стилей
/*атибуты стиля тега 'table'*/
var styleAttributesForTable = {};
/*атибуты стиля тега 'th'*/
var styleAttributesForTh = { };
/*атибуты стиля тега 'td'*/
var styleAttributesForTd = { };
/*Параметры по умолчанию:
* selectorForCreateElemInto - указываем селектор контейнера, внутри которого создается
* элемент;
* arrTh - массив заголовков*/
var options = $.extend({
styleForTable: styleAttributesForTable,
styleForTh: styleAttributesForTh,
styleForTd: styleAttributesForTd,
}, prop);
options.styleForTh = $.extend({}, styleAttributesForTh, options.styleForTh);
/*применить настройки по умолчанию*/
function applySettingsDefault() {
/*Стили для таблицы*/
styleAttributesForTable = {
'border': "solid 2px blue",
'border-collapse': 'collapse', /*убираем расстояние между ячейками*/
'margin-top': '2%',
'padding-top': '2%',
'margin-left': '2%',
'margin-bottom': '2%',
'margin-right': '10%',
'height': '40%',
'width': '100%',
'background-color': '#FFFFE0',
'cellspacing': '0'
};
/*атибуты стиля тега 'th'*/
styleAttributesForTh = {
'border': 'solid 1px green',
'padding': '5px',
'width': 'auto',
'font-size': '18px',
'font-style': 'italic'
};
/*атибуты стиля тега 'td'*/
styleAttributesForTd = {
'border': 'solid 1px purple',
'width': 'auto',
'font-size': '15px'
};
}
но когда я в точке вызова плагина указываю изменения одного из стилей заголовка, то все остальные стили отменяются, а применяется только
$(selector).createTablePlugin({
styleForTh: {
border: 'solid 5px red'
},
...