ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

15.12.2008, 14:56
|
|
Участник форума
Регистрация: 27.11.2008
Сообщений: 161
Провел на форуме: 298300
Репутация:
128
|
|
Ты пробовал подключать еще один CSS после первого? По теории и в действительности, одноименные стили заменяются последними одноименными. Т.е.
1-й способ описать стили с такими же именами в файле и подключить его по-порядку после первого
2-й способ
Код HTML:
document.getElementById('kakayatoTabla').className='твой описанный стиль';
Если у таблиц нет id, то выдери их другим способом через DOM, и замена имени стиля, как видишь, поисходит банально. А стиль, в этом случае, можно прописать и в самом html.
Вот, если я правильно понял вопрос, то предлагаю более или менее гибкое решение, которое иллюстрирует все вышесказанное
index.html
PHP код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<link href="skin1.css" rel="stylesheet" type="text/css" />
<link href="skin2.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
.changedTable1 {
background-color:#ffffff;
}
.changedTable2 {
background-color:#000;
}
-->
</style>
</head>
<body>
<script type="text/javascript">
var arStyles=new Array("table1","table2");
var arChangeStyles=new Array("changedTable1","changedTable2");
function changeType()
{
tables=document.getElementsByTagName('table');
for(i=0; i<tables.length;i++)
{
for(k=0;k<arStyles.length;k++)
{
if(tables.item(i).className==arStyles[k])
{
tables.item(i).className=arChangeStyles[k];
break;
}
}
}
}
</script>
<table width="200" border="1" class="table1">
<tr>
<td><b>привет от ss88</b></td>
</tr>
</table>
<table width="200" border="1" class="table2">
<tr>
<td><b>привет от ss88</b></td>
</tr>
</table>
<label>
<input type="submit" name="button" id="button" value="Change Style" onclick="changeType()"/>
</label>
</body>
</html>
skin1.css
Код:
.table1
{
background-color:#666;
}
.table2
{
background-color:#000;
}
skin2.css
Код:
.table1
{
background-color:#666;
}
.table2
{
background-color:#000;
}
как видно, skin2.css подключается после первого и именно стили из него будут применены к таблице, потому что они пришли позже всех с такими именами... Функция changeType() найдет все тэги таблиц и заменит имена их стилей (если они описаны в массиве оригинальных стилей arStyles) на стили подмены. Вызов этой функции можно вставить, например, в событие onLoad тэга body.
Извините, если кривой js, я в нем не особо шарю
Последний раз редактировалось ss88; 15.12.2008 в 15:44..
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|