1

私のhtmlページには、そのように見えるたびにIDが変更される可能性のある多くのリンクがあります(約140のリンクがあります):

 <a id=33 onclick="javascriptfunction()"
           href="33">link1</a>
 <a id=37 onclick="javascriptfunction()"
           href="37">link2</a>
 <a id=113 onclick="javascriptfunction()"
           href="113">link3</a>
 <a id=3 onclick="javascriptfunction()"
           href="3">link4</a>
          .....
          .....
          .....

クライアントはそれらのいずれかをランダムに選択でき、もちろん要素 ID に基づいて JavaScript である javascriptfunction() で操作を実行したいと考えています。

クリックされたリンク要素IDをJavaScript(jQueryなし)で取得する方法はありますか?

4

5 に答える 5

5

このようなもの...

<a id=2 onclick="javascriptfunction(this)"
           href="#">link4</a>

// In javascript
function javascriptfunction(element){
    var id = element.id;
}
于 2013-07-03T13:06:57.643 に答える
3

あなたが試すことができます:

<a id=3 onclick="return javascriptfunction(this)" href="3">link4</a>

function javascriptfunction(ID){
   alert(ID.id);
   return false;
}
于 2013-07-03T13:05:20.760 に答える
2
<script>
function javascriptfunction(id)
{
    alert("You clicked a tag with the id "+ id);
}
</script>
<a id=33 onclick="javascriptfunction(this.id)"/>

これを使用できます。

于 2013-07-03T13:08:57.097 に答える
0

HTML マークアップ内の 140 以上のリンクをすべて変更したくない場合は、<head>セクションに次の JavaScript コードを挿入することもできます。

window.onload = function() {
    var anchors = document.getElementsByTagName("a");
    for (var i = 0; i < anchors.length; i++) {
        var anchor = anchors[i];
        var id = anchor.id;
        if (id && id.length > 0) {
            anchor.onclick = function() {
                RealClickHandler(this.id);
                return false;
            };
        }
    }
};

これにより、すべてのリンクの既存の onclick がオーバーライドされ、id を渡して別の関数が呼び出されます。サンプル関数は次のようになります。

function RealClickHandler(id) {
    alert("anchor with id " + id + " was clicked");
}

ライブ テスト ケース

于 2013-07-03T13:20:28.670 に答える
-1

おそらくjQueryを使用してください!ここにがあります。

$("div").on('click', 'button' , function(obj){
    alert(obj.target.id);
});
于 2013-07-03T13:16:55.657 に答える