Подтвердить что ты не робот

Получение атрибута data- * для события onclick для элемента html

<a id="option1" data-id="10" data-option="21" href="#" onclick="goDoSomething(?,?);">
       Click to do something
</a>

Я хочу получить значения data-id и data-option внутри функции goDoSomething(10, 21) Я попытался использовать ссылку this: this.data['id'], но это не сработало.

Как я могу это сделать?

4b9b3361

Ответ 1

Вы можете достичь этого $(identifier).data('id'), используя jquery,

    <script type="text/javascript">

        function goDoSomething(identifier){     
            alert("data-id:"+$(identifier).data('id')+", data-option:"+$(identifier).data('option'));               
        }

    </script>

    <a id="option1" 
       data-id="10" 
       data-option="21" 
       href="#" 
       onclick="goDoSomething(this);">
           Click to do something
    </a>

javascript. Вы можете использовать getAttribute("attributename"), если хотите использовать тег javascript,

    <script type="text/javascript">

        function goDoSomething(d){
            alert(d.getAttribute("data-id"));
        }

    </script>

    <a id="option1" 
       data-id="10" 
       data-option="21" 
       href="#" 
       onclick="goDoSomething(this);">
           Click to do something
    </a>

Или:

    <script type="text/javascript">

        function goDoSomething(data_id, data_option){       

            alert("data-id:"+data_id+", data-option:"+data_option);
        }

    </script>

    <a id="option1" 
       data-id="10" 
       data-option="21" 
       href="#" 
       onclick="goDoSomething(this.getAttribute('data-id'), this.getAttribute('data-option'));">
           Click to do something
    </a>

Ответ 3

Я просто использую этот трюк jQuery:

$("a:focus").attr('data-id');

Он получает сфокусированный элемент a и получает от него атрибут data-id.

Ответ 4

вот пример

 <a class="facultySelecter" data-faculty="ahs" href="#">Arts and Human Sciences</a></li>

    $('.facultySelecter').click(function() {        
    var unhide = $(this).data("faculty");
    });

это установит var unhide как ahs, поэтому используйте .data( "foo" ), чтобы получить значение "foo" атрибута data- *, которое вы хотите получить

Ответ 5

Пользователь $(), чтобы получить объект jQuery из вашей ссылки и data(), чтобы получить ваши значения

<a id="option1" 
   data-id="10" 
   data-option="21" 
   href="#" 
   onclick="goDoSomething($(this).data('id'),$(this).data('option'));">
       Click to do something
</a>