2010-01-05 7 views
0

После создания объекта с JavaScript я ищу для доступа к нему с помощью jQuery, чтобы манипулировать им. Вот код, чтобы сделать вещи яснее:Доступ к объекту javascript с помощью jQuery

ObjectFunction = function(content) { 
    this.content = content 
} 

ObjectFunction.prototype = { 
    showobject : { return this.appendTo(document.body)} 
} 

obj = New ObjectFunction() 

То, что я хотел бы сделать это следующим образом, но синтаксис является неправильным:

$(obj).css{(background:'red')} 

Это не работает. Если я создаю функцию в прототипе, который будет выглядеть примерно так, он работает:

ObjectFunction.prototype = { 
showobject : { return this.appendTo(document.body)}, 
objectmodify: { return this.css{(background:'red')}} 
} 

// then call something like 
obj.objectmodify() 

Есть ли способ избежать этого уродливого кода для прямой функции JQuery применяется на объекте?

+0

отформатируйте свой код как таковой, он более читабельен именно так. – Sietse

+0

@Sietse - под редакцией. –

+0

Капитал N для Нового не должен работать. В каком браузере он работает для вас? – slebetman

ответ

0

Я думаю, вы должны написать:

$(obj).css("background","red"); 

или

$(obj).attr('style', 'background:red'); 
+0

Это не имеет смысла в javascript. Должно быть: '$ (obj) .css ({'background': 'red'})'. jQuery - это javascript-библиотека, язык STILL javascript. – slebetman

+0

@slebetman - этот сломанный синтаксис в исходном вопросе - выглядит как непреднамеренная копия-паста для меня. –

+0

Я пробовал это, но он не работал. если я запустил $ (obj) .size(), результат 1, но каким-то образом я не вижу эффекта на объекте – salmane

1

$ (OBJ) .css {(фон: 'красный')}

Синтаксис этого неправильный, у вас есть скобки и сквиглы неправильный путь - это должно быть

$(obj).css({background:'red'});

1

Я понял ответ. как всегда, это было проще, чем я думал.

Созданный элемент dom ссылается как свойство объекта javascript. к которому можно обратиться в этом случае (см. код выше) obj.content, поэтому в случае $ (obj.content) .css ({background: 'red'}). работает :) Я надеюсь, что это поможет кому-то :)

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