Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как получить идентификатор без this? (https://javascript.ru/forum/events/52351-kak-poluchit-identifikator-bez.html)

Max_Cohen 15.12.2014 13:29

Как получить идентификатор без this?
 
Добрый день,

Можно ли как-то по другому получить идентификатор объекта без this? Т. е. если у нас есть такая вот строка:

<button onclick="a_button(this);">BUTTON</button>
<script type="text/javascript">
function a_button(o)
{
alert(o.innerHTML);
}
</script>


А заменить ее так, ну чтобы получить идентификатор без this

<button onclick="a_button();">BUTTON</button>
<script type="text/javascript">
function a_button()
{
alert(идентификатор кнопки.innerHTML);
}
</script>


Cпасибо.

Erolast 15.12.2014 13:31

Не идентификатор, а представляющий кнопку DOM-объект.
<script>
function doSomething() {
  document.getElementById("myButton").innerHTML = "DICK";
}
</script>
<button id="myButton" onclick="doSomething();">BUTTON</button>

Max_Cohen 17.12.2014 09:30

Цитата:

Сообщение от Erolast (Сообщение 346603)
Не идентификатор, а представляющий кнопку DOM-объект.
<script>
function doSomething() {
  document.getElementById("myButton").innerHTML = "DICK";
}
</script>
<button id="myButton" onclick="doSomething();">BUTTON</button>

Добрый день,

Я кажется не правильно объяснил, за это Я извиняюсь.

Я не хочу получить то, что написано на кнопке. А исполнить какой-то код.
<script type="text/javascript">
function a_button()
{
/* какой-то код получает this и исполняет что-то) */
}
</script>

Erolast 17.12.2014 10:40

http://javascript.ru/Function/call
http://javascript.ru/Function/apply

Aetae 17.12.2014 11:03

Max_Cohen, назначай обработчики через js, а не в html. Это и правильнее и таких проблем не будет.
document.querySelector('button').onclick = a_button;
function a_button(){
   alert(this.innerHTML); 
}


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