Только на основе кода, который мы видим в вашем посте.
document.querySelectorAll('th')[1].style.color = "blue";
Я нахожу 2-й тег TH и устанавливаю цвет таким образом. Вы также можете установить значения таким же образом.
document.querySelectorAll('th')[1].innerText = "start";
or
document.querySelectorAll('th')[1].innerHTML = "start";
Я нашел, там Платформа JavaScript, смоделированная после Ruby:
Другой хороший:
Joose-js (смоделированный после американского лося (жемчуг))
Я предпочитаю Josse, потому что это, кажется, более активно разрабатывается, и синтаксис выглядит аккуратным также!
Какие-либо мысли??? (Возможно, это должно быть другим вопросом??)
Я думаю, что Microsoft Ajax реализует его просто отлично (с пространствами имен, наследованием и взаимодействует через интерфейс и т.д.),
Type.registerNamespace("Demo");
Demo.Person = function(firstName, lastName, emailAddress) {
this._firstName = firstName;
this._lastName = lastName;
this._emailAddress = emailAddress;
}
Demo.Person.prototype = {
getFirstName: function() {
return this._firstName;
},
getLastName: function() {
return this._lastName;
},
getName: function() {
return this._firstName + ' ' + this._lastName;
},
dispose: function() {
alert('bye ' + this.getName());
}
}
Demo.Person.registerClass('Demo.Person', null, Sys.IDisposable);
// Notify ScriptManager that this is the end of the script.
if (typeof(Sys) !== 'undefined') Sys.Application.notifyScriptLoaded();
Прототип выезда. Вот образец:
// properties are directly passed to `create` method
var Person = Class.create({
initialize: function(name) {
this.name = name;
},
say: function(message) {
return this.name + ': ' + message;
}
});
// when subclassing, specify the class you want to inherit from
var Pirate = Class.create(Person, {
// redefine the speak method
say: function($super, message) {
return $super(message) + ', yarr!';
}
});
var john = new Pirate('Long John');
john.say('ahoy matey');
// -> "Long John: ahoy matey, yarr!"
Base2 имеет простой механизм наследования, См. сообщение John Resig на этом (комментарии в сообщении также интересны).
Что-то, чтобы также иметь в виду - то, что попытка сделать моделирует классическое OO в JavaScript, получал партию зенитного огня в последнее время (хотя это исследовалось очень с энтузиазмом в начальные дни большого оборота библиотеки JS).
Ну, сначала необходимо спросить, хотите ли Вы библиотеку, которая пытается эмулировать классическое наследование или то, которое идет больше для собственного компонента JS prototypal наследование.
ДУЭТЫ (библиотека Digg User Interface) являются дополнением jQuery, которое берет старую модель Прототипа и расширяет ее намного более интуитивным способом, допуская вложенные статические и динамические классы, пространства имен, поддержка dontEnum укусила и т.д. Документация доступна на GitHub Digg. Я думаю, что Вы найдете это довольно устойчивым.
Раскрытие: Я работаю на Digg и записал DUI ;)
Я считаю, что mootools - это все, что мне нужно для наследования. Он использует основной мотив расширений и реализаций многих других объектно-ориентированных языков.
Один из разработчиков подробно рассматривает его в своем сравнении с jquery:
Вы не нужна и вся библиотека. Вы можете просто загрузить их модель класса и игнорировать остальное (анимацию, манипуляции с домом и т. Д.).
Возможно, вас заинтересует qooxdoo, платформа для создания полнофункциональных интернет-приложений (RIA). Он включает в себя комплексный объектно-ориентированный уровень, цель которого - быть мощным, элегантным и быстрым:
См. Следующий раздел в руководстве, где есть все подробности: http://qooxdoo.org/documentation/0.8#object_orientation
Вам следует попробовать Classy:
Он простой и очень маленький, но в нем есть все, что мне нужно для построения моих классов.
Просто выберите тот, который вам больше нравится. В конце концов, все они за кулисами используют прототипное наследование, поэтому все они имеют примерно одинаковый уровень функциональности.
Если вам нужна мощная традиционная система классов, используйте GWT и программируйте на чистой Java.
Лично я предпочитаю компонентную систему Ext, но это потому, что компоненты Ext на самом деле имеют полный жизненный цикл (инициализация, рендеринг, сохранение состояния и уничтожение), что, в свою очередь, позволяет использовать подключаемые модули компонентов, которые не нарушают незначительные обновления библиотеки.