powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Добавить метод в Object.defineProperties
3 сообщений из 3, страница 1 из 1
Добавить метод в Object.defineProperties
    #39526969
Фотография user89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В сети полно примеров, где сеттеры-геттеры внутри Object.defineProperties. В учебных целях сделал такую штуку:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
<style>
  #div1 {height:100px; width:200px; border:1px solid #ccc;}
</style> </head>
<body>
  <div id="div1"> </div>
<script>
function TListbox(el) {
  Object.defineProperties (this, {
    'items': {
      get: function() {return el.children;},
      set: function(s) {el.innerHTML = s;},
      add: {
        set: function(s) {el.innerHTML += s;}
      }
    }
  });
}

var elem = document.getElementById('div1');
var div1 = new TListbox(elem);
div1.items = '<p>Строка 1</p>  <p>Строка 2</p>';
console.log(div1.items[1].textContent);//OK
div1.items.add = '<p>строка 3</p>'; 
</script>
</body>


Здесь через items можно присвоить блок новых элементов, и посмотреть его содержимое через div1.items[1].textContent. Тут ОК.
Цель : хочу чтобы новые элементы добавлялись в конец списка через items.add .
В моем варианте добавление не происходит, items.add просто переопределяется как новое стринговое свойство...
Пробовал ещё так:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
  Object.defineProperties (this, {
    'items': {
      get: function() {return el.children;},
      set: function(s) {el.innerHTML = s;},
      add: function(s) {el.innerHTML += s;}
    }
  });
div1.items.add('<p>строка 3</p>');

Получаю ошибку TypeError: div1.items.add is not a function
...
Рейтинг: 0 / 0
Добавить метод в Object.defineProperties
    #39526984
DeanWinchester
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Добавить метод в Object.defineProperties
    #39527021
Фотография user89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeanWinchester,

респект и уважуха!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Добавить метод в Object.defineProperties
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]