2013-09-23 2 views
2

В JavaScript, возможно ли написать многострочный оператор, как описано ниже;Многострочные команды Javascript

document.getElementById("ID").innerHTML = "Something"; 
          .style.display = "some"; 
          .style.color = "#CCC"; 

Надеюсь, у вас есть идея?

+0

С [JQuery] (http://jquery.com/):.. '$ ('# ID') HTML ('Нечто') CSS ({дисплей: 'некоторые', цвет:«# CCC '}) ', вы можете поместить разрывы строк до того, как явно вызовет метод. –

+0

Возможный дубликат [Как реализовать цепочку цепочек, например jQuery?] (Http://stackoverflow.com/questions/18862623/how-do-implement-a-chaining-pattern-like-jquery-does) –

ответ

2

Нет, вы не можете писать, как это, но может использовать это:

var obj = document.getElementById("ID"); 
obj.innerHTML = "Something"; 
obj.style.display = "some"; 
obj.style.color = "#CCC"; 

Поскольку называть любое свойство в JavaScript есть нужен объект, на котором вы хотите, чтобы примените это свойство.

1

Взять document.getElementById("ID") в переменную.

Как

var eleId = document.getElementById("ID"); 

eleId.innerHTML = "Something"; 
eleId.style.display = "some"; 
eleId.style.color = "#CCC"; 
0

Ну, все зависит от того, в каком примере вы предоставили вам возможность сделать это, вы можете сделать это только при вызове функции, которая также возвращает функцию, хорошим примером является jQuery, давайте посмотрим.

$('#something') // <-- select a element - returns a whole object of functions 
       .hide() // hide function was returned 
       .show() // show function was returned 
       .css(...); 

В вашем примере строка, которую вы установили, была фактически возвращена.

Вот как вы выполняете функцию цепочки.

var test = function(name) { 
    this.name = name; 
    return this; 
}; 

test.prototype.viewName = function() { 
    console.log(this.name); 
}; 

test.prototype.showName = function() { 
    alert(this.name); 
    return this; 
}; 
var john = new test('john'); 
john.showName().viewName(); 

Так что в вашем случае вы должны сохранить объект

var element = document.getElementById("ID"); 
    element.innerHTML = "Something"; 
    element.style.display = "some"; 
    element.style.color = "#CCC"; 

Так что все зависит от того, что возвращается из последнего действия.

0

Ну, это так, но не в вашем случае.

Можно при вызове нескольких функций, которые возвращают то же OBJ снова и снова, например, в JQuery:

$('#el').fadeIn().fadeOut();

Это называется Cascade (Ну, Дуглас Крокфорд назвал это так , вы можете найти его в своей книге Javascript: The Good Parts)

В вашем случае вы не можете этого сделать (по крайней мере, с ванильным javascript).

var el = document.getElementById("ID") 

el.innerHTML = "Something"; 
el.style.display = "some"; 
el.style.color = "#CCC"; 
Смежные вопросы