Установить атрибут для динамически создаваемого элемента

0

Мы используем следующий фрагмент кода для создания элемента div в плагине JavaScript.

Фрагмент кода:

var temp = document.createElement('div');     

Но я не могу применить стиль к этому div. Можете ли вы, пожалуйста, взглянуть на это и дать предложения по следующим вопросам. Это было бы очень полезно для нас.

  • Как добавить класс для созданного div?
  • Как применить стиль к этому конкретному div?
  • Как вызвать событие onscroll для этого div?
  • 1
    Это 3 вопроса, каждый из которых является дубликатом, многократно повторяется, и даже Bing может найти их. Мы здесь занимаемся репутацией?
Теги:

5 ответов

1

попробуй это:

var temp = document.createElement('div');
temp.className = "yourclass";
temp.style.cssText = 'width:100px; height:100px'; //example
temp.onscroll = function() 
{ 
 alert('on scroll');
}; 

DEMO

0

Попробуй это

var temp = document.createElement('div');   
temp.setAttribute('class', 'someClassName');
temp.setAttribute('Id', 'MyDiv');

вы можете установить любые свойства css для присвоения класса, который в этом случае является "someClassName", аналогичным образом вы можете вызвать любую целевую функцию, назначаемую Id, которая является "myDiv",

надеюсь это поможет

0

Я рекомендую вам взглянуть на самые основы JavaScript, чтобы понять его функциональность.

Если вы посмотрите на небольшой учебник для начинающих по JavaScript, вы узнаете большинство вещей, которые вы задали. Они очень, очень простые, и их нужно искать, а не спрашивать о stackoverflow. Просто используйте Google, как это. Не так сложно, не так ли?

Но все же, вот ответы на ваши вопросы. Я знаю, что есть несколько способов сделать определенные вещи. Следующие фрагменты кода должны работать во всех распространенных браузерах.

Добавление класса

Чтобы установить класс элемента, вы можете использовать метод setAttribute.

temp.setAttribute("class", "myclass");

Применение стилей

Каждый элемент имеет свойство style которое можно использовать для изменения всего, что вы можете изменить с помощью CSS.

temp.style.backgroundColor = "#000000";
temp.style.color = "#FFFFFF";
temp.style.fontSize = "24pt";

Прослушивание событий

Вы можете добавлять обработчики событий к элементу либо с помощью onsomething свойств или attachEvent (Internet Explorer) и addEventListener (другие браузеры).

Метод 1 - свойства onsomething:

Используя свойство onscroll элемента, вы можете применить один прослушиватель событий за раз. Это самый простой метод и поддерживается всеми браузерами.

temp.onscroll = function(e) {
    // Do something
};

Метод 2 - attachEvent и addEventListener:

Используя addEventListener, вы можете применить несколько прослушивателей событий, если это необходимо. В большинстве случаев это предпочтительный способ. Старые версии Internet Explorer не поддерживают addEventlistener, поэтому в этом случае вам необходимо использовать attachEvent.

// Check if the browser supports addEventListener
if (temp.addEventListener) {
    // If it does support addEventListener, use it
    temp.addEventListener("scroll", onScroll);
} else if (temp.attachEvent) {
    // If it does not support addEventListener, use attachEvent instead
    temp.attachEvent("onScroll", onScroll);
}

function onScroll(event) {
    // Do something
}
0

попробуй это

var ele = document.createElement('div')
var id = 'temp'
ele.setAttribute('id', id)

Результат в

<div id="temp"></div>
0

[править] здесь рабочая скрипка: http://jsfiddle.net/NHBr2/

теперь вы создали "div" в своей переменной temp. Для того, чтобы стилизовать это, используйте этот код.

Встроенные стили:

temp.setAttributes('style','width:100px;');

Добавление класса:

temp.setAttributes('class','myClass');

Добавление идентификатора:

temp.setAttributes('id','MyID');

Добавление эвента:

temp.setAttributes('OnMouseWheel','myFunction(e);');
  • 0
    Вы имеете в виду setAttribute (единственное число)?
  • 0
    Спасибо за быстрый ответ . Я проверю предоставленное решение в нашу сторону.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню