Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   HTML код тэга (не innerHTML) (https://javascript.ru/forum/css-html/24447-html-kod-tehga-ne-innerhtml.html)

elf2002 30.12.2011 05:06

HTML код тэга (не innerHTML)
 
Добрый день.
Подскажите пожалуйста, можно ли каким-то образом узнать HTML-код определенного тэга?

Например есть <b id='id3' style="color:red;" onclick="alert(this.all????)">123</b>
нужно чтобы по клику возвратило
"<b id='id3' style="color:red;" onclick="alert(this.all????)">123</b>", т.е. сам код самого тэга.
Это возможно?:blink:

devote 30.12.2011 05:22

<div>
    <b id='id3' style="color:red;" onclick="getDoc(this)">123</b>
</div>

<script>
function getDoc( self ) {
    alert( self.parentNode.innerHTML );
}
</script>

trikadin 30.12.2011 05:44

devote, а если элементов несколько?..

devote 30.12.2011 05:50

Цитата:

Сообщение от trikadin
devote, а если элементов несколько?..

ну значит пусть сует один в один :D

trikadin 30.12.2011 06:07

devote, :)

melky 30.12.2011 10:53

Цитата:

Сообщение от devote (Сообщение 147269)
ну значит пусть сует один в один :D

если браузер нормальный, то можно обойтись outerHTML :

<div>
    <b id='id3' style="color:red;" onclick="getDoc(this)">123</b>
</div>

<script>
function getDoc( self ) {
    alert( self.outerHTML );
}
</script>

рони 30.12.2011 10:55

Цитата:

Сообщение от trikadin
devote, а если элементов несколько?..

Вариант...
<div>
    <b id='id3' style="color:red;" onclick="getDoc(this)">123</b>
    <b id='id3' style="color:Fuchsia;" onclick="getDoc(this)">321</b>
</div>

<script>
function getDoc( self ) {
   var d = document.createElement('DIV');
   var s = self.cloneNode(1);
   d.appendChild(s)
alert( d.innerHTML );
}
</script>

devote 30.12.2011 15:21

melky,
self.outerHTML не у всех браузеров есть
рони,
да вполне кроссбраузерный вариант

trikadin 30.12.2011 15:47

рони, я тоже об этом думал, но если у элемента over 9000 детей, то это не очень. Но - согласен - единственный кроссбраузерный вариант.

melky 30.12.2011 16:01

Цитата:

Сообщение от trikadin (Сообщение 147397)
рони, я тоже об этом думал, но если у элемента over 9000 детей, то это не очень. Но - согласен - единственный кроссбраузерный вариант.

можно использовать мой вариант и его.


Часовой пояс GMT +3, время: 10:52.