2012-04-19 5 views
0

Как определить следующие свойства объекта html и определить как функцию в javascript, которая вернет некоторый объект.JavaScript Создать функцию

HTML:

<object id="desktop" type="application/x-desktop" width="500" height="200"> 
<param name="client_type" value="VISTA" /> </object> 

Я хочу для того чтобы достигнуть что-то вроде ниже в javascript.So, что я могу назвать функцию GetDesktop() из-за пределов JavaScript.

JavaScript:

function GetDesktop() 
    { 
    object.id = "desktop; 
    object.type = "application/x-desktop" 
    .... 
    ... 
    ... 
    } 
+0

Вы пытаетесь создать новый элемент HTML или вернуть информацию о том, что уже есть на странице? –

ответ

2

Вы хотите вернуть HTML выше из функции JS?

var GetDesktop = function(){ 
    var obj = document.createElement('object'); 
    obj.setAttribute('id', 'desktop'); 
    obj.setAttribute('type', 'application/x-desktop'); 
    obj.setAttribute('width', '500'); 
    obj.setAttribute('height', '200'); 
    var param = document.createElement('param'); 
    param.setAttribute('name', 'client_type'); 
    param.setAttribute('value', 'VISTA'); 
    obj.appendChild(param); 

    return obj; 
} 

Очевидно, что если какие-либо из этих свойств необходимо изменить, вы можете передать их в качестве параметров функции ...

+1

Строго говоря, эти вызовы 'setAttribute()' не нужны. 'obj.id = 'desktop';' будет делать то же самое. – aroth

+0

Спасибо tkone. Это именно то, что я искал. Параметры всегда будут исправлены. – user1029083

+0

@aroth Они только таким образом, что op может легко пройти через хэш пар ключ/вал, чтобы установить их. – tkone

1

Моя интерпретация вопроса является противоположностью @ tkone годов. Надеюсь, один из нас прав. :)

Является ли этот браузер Javascript? Если да, то почему бы не использовать объект HTMLElement напрямую?

var obj = document.getElementById('desktop'); 

Это получает Вас объект, для которого это верно:

obj.getAttribute('id') // -> 'desktop' 
obj.getAttribute('type') //-> 'application/x-desktop' 

т.д.

Если вы хотите простой объект JS с атрибутами, которые хранятся непосредственно, вы можете создать один путем обхода атрибутов DOM:

var elem = document.getElementById('desktop'); 
    var obj = {}; 
    var attrCount = elem.attributes.length; 
    for (var i=0; i<attrCount; ++i) { 
     var attr = elem.attributes[i]; 
     obj[attr.name] = attr.value 
    } 

Что получает вас объект, для которого это верно:

obj.id // -> 'desktop' 
obj.type //-> 'application/x-desktop' 

и т.д..

+0

Спасибо, Марк. Да, это JavaScript-скрипт браузера. Я пишу Javascript SDK API. Поэтому я хочу определить это в самом Javascript. – user1029083

Смежные вопросы