6

div実行時に値を動的に設定する必要があります。値がある場合は、メソッドを呼び出すメソッドを持つリンクを有効にするか作成しonclickますjavascript

jqueryまたはでこれを行う方法はjavascript

div次のように値を設定します。

document.getElementById('attachmentName').innerHTML=projectInforamtionMap.Cim_AttachmentNames;

これは div :

<tr>
  <td align="left"><div id="attachmentName"> </div></td>
</tr>

見つけて修正するのを手伝ってください。

よろしくお願いします

4

7 に答える 7

7

onclick 関数を設定できます。

document.getElementById('attachmentName').onclick = function() {};
于 2013-02-21T11:45:11.623 に答える
2

関数が以前にこのように定義されていると仮定します

function foo(){alert('function call');}

innerHTML 追加後

JavaScriptで

document.getElementById('attachmentName').setAttribute('onclick','foo()');

Jqueryで

$("#attachmentName").attr('onclick','foo()');
于 2013-02-21T11:48:05.850 に答える
2

いくつかの選択肢があります

JavaScript:

// var elem = document.getElementById('attachmentName');
elem.onclick = function() {};
elem.setAttribute('onclick','foo()');
elem.addEventListener('onclick', foo, false); // The most appropiate way

jQuery:

// var elem = $('#attachmentName');
elem.click(foo);
elem.on('click', foo);
$('body').on('click', elem, foo);

3 つの jQuery の選択肢のうち、最後のものが最適です。その理由は、 body 要素だけにイベントを添付しているためです。この場合は問題ではありませんが、同じイベントを 1 つの要素だけでなく、要素のコレクションに関連付ける場合もあります。

したがって、このアプローチを使用すると、イベントはボディに添付されますが、同じイベントをすべての要素に添付するのではなく、クリックされた要素に対して機能するため、より効率的です:)

于 2013-02-21T11:54:32.290 に答える
1
$('#attachmentName').click(function(){
     //do your stuff 
})
于 2013-02-21T11:47:04.127 に答える
1

次の方法でdivにリンクを挿入せずにこれを行うことができます

document.getElementById("attachmentName").onClick = function () {
                                                                  alert(1); // To test the click
                                                                 };

jQuery を使用して、次の方法でも実現できます。

$("#attachmentName").click(function () 
                                        {
                                             alert(1);
                                        });

このためには、ページに jQuery libray を含める必要があります。jQuery.comを参照

それでもどうしてもリンクを Div に含めたい場合は、次のコードを使用します。

var link = $("<a>"+ $("#attachmentName").text() +"</a>");
$("#attachmentName").html($(link);
link.click(function () {
                          alert(1);
                        });

これが役立つことを願っています。

于 2013-02-21T11:52:34.053 に答える
1

jquery の方法:

$("#attachmentName").click(function() {
  some_js_method();
});
于 2013-02-21T11:47:30.813 に答える
0

古典的なASPの詳細ページを1ページのajax化されたページに変換していたので、ページ内の既存のリンクを変換して、同じページのDIVにロードされた詳細を取得しました。href タグの名前を dtlLink に変更し、そのデータを jquery load() 関数で取得しました。

detail.asp (ここに server.urlencode が追加され、必須です)

<a href=""#"" onclick=""javascript:LoadDetails(this)"" dtllink="detail.asp?x=" & Server.URLEncode(Request("x"))&y=" & Server.URLEncode(Request("y")) > link text </a>

parent.asp (holdon.js スピナー イメージ、ボタンの有効化/無効化、結果 div の表示/非表示のための追加コードが含まれています) Jquery

 function LoadDetails(href) {
 //get the hyperlink element's attribute and load it to the results div.
            var a_href = $(href).attr('dtllink');
            console.log(a_href);
            $('#divResults').html('');



            DisplayHoldOn();
            $('#divResults').load(a_href, function (response, status, xhr) {
                $('#divCriteria').hide();

                HoldOn.close();
                if (status == "error") {
                    var msg = "There was an error: ";
                    $("#divResults").html(msg + xhr.status + " " + xhr.statusText);
                    $('#divCriteria').show();
                    $("#cmdSubmit").removeAttr('disabled');
                }
            });
        }
于 2015-09-22T15:20:39.207 に答える