Три наиболее часто используемых подхода, какой выберешь в конкретной ситуации?
<div id="div">
<p></p>
<p></p>
</div>
<script>
var p = document.getElementById('div').getElementsByTagName('p'),
i = p.length;
while(i--) {
p[i].innerHTML = p[i].nodeName;
}
</script>
<div id="div">
<p></p>
<p></p>
</div>
<script>
var p = document.getElementById('div').children,
i = p.length;
while(i--) {
p[i].innerHTML = p[i].nodeName;
}
</script>
<div id="div">
<p></p>
<p></p>
</div>
<script>
var p = document.getElementById('div').childNodes,
i = p.length;
while(i--) {
if(p[i].nodeName === 'P' && p[i].nodeType === 1)
p[i].innerHTML = p[i].nodeName;
}
</script>
Ты сегодня не пил?
//в этом случае сперва происходит группировка, затем вызов, как Function Expression
(function() {
alert(this);
})();
//сперва происходит объявление функции как Function Expression и вызов, затем закрывается оператор группировки
(function() {
alert(this);
}());
//объявление функции как Function Expression и вызов, оператор группировки в этом случае не нужен
!function() {
alert(this);
}();
ничего подобного, если это касается конкретного примера.
// как в Python
if(0 == 1)
alert(false)
else if(1 == 2)
alert(false)
else
alert('не то не другое не верно');
//так советует Д. Крокфорд
if(0 == 1) {
alert(false)
}
else if(1 == 2) {
alert(false)
}
else {
alert('не то не другое не верно');
}
// менее читабелен, но все же рабочий
if(0 == 1) alert(false); else if(1 == 2); else alert('не то не другое не верно');
// тоже самое, что и передыдущий
if(0 == 1) alert(false);
else if(1 == 2);
else alert('не то не другое не верно');
//из всех вариантов, лично я выберу этот
alert(0 == 1 ? 0 : 1 == 2 ? 0 : 'не то не другое не верно');
ты наверно не поверишь, но даже так работает:
<div id="div">
<p></p>
<p></p>
</div>
<script>
var
p
=
document
.
getElementById
(
'div'
)
.
childNodes
,
i
=
p
.
length
;
while
(
i--
)
{
if
(
p
[
i
]
.
nodeName
===
'P'
&&
p
[
i
]
.
nodeType
===
1
)
alert
(
p
[
i
]
.
nodeName
)
}
;
</script>
Как говорится, вкус и цвет, товарищей нет, главное незагнаться
|