Исходя из моего предыдущего вопроса.Я сделал вспомогательную функцию (см. Ниже) для вставки элементов в DOM.Часть функции использует instanceof, чтобы определить, является ли элемент this экземпляром HTMLMediaElement, и определяет атрибут источника с помощью аргумента elemSrc.
Мой вопрос: Есть ли способ проверить, ожидает ли элемент определения атрибута источника?Причина, по которой я спрашиваю, состоит в том, что я мог бы затем использовать эту функцию для всех элементов, которые «ожидают» иметь определенный атрибут источника.Я знаю, что могу использовать instanceof & reel для каждого элемента, который использует атрибут источника, но я бы предпочел более плавный способ, если это возможно.
function insertElem(numberOfElems, elemTag, elemId, elemClass, parentSelector, elemSrc){
/*
* numberOfElements:- Pass in a whole integer.
* elemTag:- Pass in the element tag type (inside "" or '').
* elemId:- Pass in a name for the element id (inside "" or ''),
an integer is appended to the id name by the for loop.
* elemClass:- Pass in a name for element class (inside "" or '').
* parentSelector:- Pass in the identifier of the parent element (inside "" or '')
* querySelector prefixes: # = id
. = class
none = tag
*elemSrc:- Pass in the source media url (inside "" or '').
*/
if (numberOfElems > 1) {
for (i = 0; i < numberOfElems; i++) {
var elem = this[elemId + i];
elem = document.createElement(elemTag);
elem.id = elemId + '_' + i;
if (elemClass) {
elem.className = elemClass;
}
parentEl = document.querySelector(parentSelector);
parentEl.appendChild(elem);
if(elem instanceof HTMLMediaElement) {
elem.src = elemSrc;
}
}
} else {
var elem = this[elemId];
elem = document.createElement(elemTag);
elem.id = elemId;
if (elemClass) {
elem.className = elemClass;
}
parentEl = document.querySelector(parentSelector);
parentEl.appendChild(elem);
if(elem instanceof HTMLMediaElement) {
elem.src = elemSrc;
}
}
}