Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
БТР - мой друг
 Аватар для Hagrael
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932

Перебор всех css-свойств в style

17.10.2010, 16:55. Показов 2526. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот мой код:
JavaScript
1
2
3
4
5
for (property in element.style) {
            if (typeof property == "string") {
                alert(property)
            }
        }
Но он высвечивает какой-то ненужный null и полно лишних функций (!) типа getPropertyValue и т. д. и т. п. А как отфильтровать так, чтобы были только css-свойства?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.10.2010, 16:55
Ответы с готовыми решениями:

Перебор всех контроллов формы для получения их свойств
Есть форма в которой 28 checkbox, 4 button, 4 radio, 2 textbox. Как правильнее передавать их состояние в программу? если можно,...

Где найти список всех поддерживаемых свойств css?
Где найти список, всех поддерживаемых браузерами свойств css списком ?

Не работает позиционирование в IE
не работает в Internet Explorere как быть? Chrome & Mazzila , FireFox, Safari - ок вот тут www.thanx.me смотрим черезбраузер IE и Вы...

8
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
17.10.2010, 17:05
Правильно, потому что for..in видит еще много чего лишнего, и property всегда будет string или number (?), ибо содержит имя свойства. Попробуй так:
JavaScript
1
2
3
4
5
for (var k in el.style) {
    if (el.style.hasOwnProperty(k) && (typeof el.style[k] == 'string' || typeof el.style[k] == 'number')) {
        alert(k + ' : ' + el.style[k]);
    };
};
0
БТР - мой друг
 Аватар для Hagrael
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
21.10.2010, 17:20  [ТС]
Vovan-VE, почему-то в this через это свойство записать ничего не получается. Вот код:
JavaScript
1
2
3
4
5
        for (var k in element.style) {
            if (element.style.hasOwnProperty(k) && (typeof element.style[k] == 'string' || typeof element.style[k] == 'number')) {
                this[k]='foo bar'
            }
        }
Почему?

Добавлено через 22 часа 15 минут
Проблема осталась

Добавлено через 3 минуты
Почему вообще нельзя сказать
JavaScript
1
this=element.style
???

Добавлено через 1 час 58 минут
Ошибка такая:
Uncaught Error: NO_MODIFICATION_ALLOWED_ERR: DOM Exception 7
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
21.10.2010, 17:25
Потому что this содержит объект, в контексте которого выполняется функция. Соответственно, this предназначен только для чтения.
1
БТР - мой друг
 Аватар для Hagrael
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
21.10.2010, 17:37  [ТС]
Vovan-VE, а почему не работает такая запись:
JavaScript
1
2
3
4
5
                for (var k in element.style) {
                    if (element.style.hasOwnProperty(k) && (typeof element.style[k] == 'string' || typeof element.style[k] == 'number')) {
                                this[k]='foo bar'
                    }
                }
???
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
21.10.2010, 17:49
this никак и ничем нельзя изменить внутри одной и той же функции. Цикл for..in просто перечисляет свойства объекта.
0
БТР - мой друг
 Аватар для Hagrael
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
21.10.2010, 17:52  [ТС]
Vovan-VE, но ведь k - название свойства! И он должен записать что-то вроде этого:
JavaScript
1
2
3
this.cssText="foo bar"
this.length="foo bar"
this.paddingTop="foo bar"
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
21.10.2010, 19:25
this и for..in никак не влияют друг на друга.
0
БТР - мой друг
 Аватар для Hagrael
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
22.10.2010, 14:46  [ТС]
Vovan-VE, тогда почему этот код выдаёт ошибку???
P.S.: Извини, если туплю

Добавлено через 18 часов 25 минут
Вот что ещё удивительно. Вот у меня такой код:
HTML5
1
<div id="try" style="padding: 3px;">...</div>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
<script>
a=document.getElementById("try").style
function c(){
    for (prop in a) {
        if (typeof a[prop] == "string") {
            alert(prop)
            this[prop]=a[prop]
        }
    }
}
b=new c()
</script>
почему-то мне выдаётся 0, 1, 2, 3, cssText и length! 0, 1, 2, 3 как я понял содержат названия свойств, которые присутствуют у объекта. А где же padding и paddingTop?! Ведь они тоже должны были присваиваться! Почему этого не происходит и как этого добиться?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.10.2010, 14:46
Помогаю со студенческими работами здесь

Style для Button. Параметризация свойств
есть вот такой стиль кнопки: &lt;Style x:Key=&quot;myButtonStyle&quot; TargetType=&quot;{x:Type Button}&quot;&gt; &lt;Setter...

Перебор названий свойств
Добрый день! Суть вопроса такова, есть массив для примера пусть будет &quot;a&quot;. Каждый его элемент объявлен классом имеющим множество...

Перебор контролов с изменением свойств
Перебираю с помощью цикла все контролы ToolBar на форме: For Each ctr In RunForm.Controls If TypeOf ctr Is ToolBar Then ... End If ...

Css в style
Подскажите пожалуйста как из css переписать это: ul li { display: block; height:30px; line-height:30px; }

JS and CSS style
Привет, сутки назад начал изучать js, в интернетах, на всех уроках стиль css изменяют только, когда он прописан напрямую в html. Вопрос :...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru