0

プロジェクト全体で使用されるいくつかの MS ajax 関数がまだ存在する大きなプロジェクトがあります。jquery を使用してそれらを書き直すこともできますが、今のところ、それにはかなりの時間がかかります。

ただし、現在、すべての新しい機能に jquery を使用しています。

これを見てください:

    $.each($("a[xonclick]"), function (index, value) {
            EnableButton(value);
        });
    function EnableButton(btn) {
        ...
        var xonclick = btn.getAttribute("xonclick");
        ...
    }

もちろん、JavaScriptエラーが発生します:

getAttribute is not a function

使用できることはわかっていますbtn.attr("xonclick");が、前に述べたように、それはオプションではありません。

jqueryオブジェクトのMS ajaxオブジェクトを提供するjquery関数はありますか? 次に、そのオブジェクトを使用して enableButton 関数に渡します。

更新: JSFiddle: http://jsfiddle.net/wsYCJ/1/

私はそれをうまく説明して、あなたの誰かがこれに対する解決策を知っていることを願っています.

ありがとう!

4

1 に答える 1

1

コメントで述べたように、$get()は ASP.NET AJAX ライブラリの一部であり、拡張 DOM 要素 (実際にはSys.UI.DomElementのインスタンス) を返します。

一方、jQuery の$()関数は、1 つ以上の DOM 要素をラップする jQuery オブジェクトを返します。jQuery オブジェクトは をサポートしていませんがgetAttribute()、DOM 要素はサポートしています。

get()またはインデクサー構文を使用して、jQuery オブジェクトから実際の DOM 要素を取得できます。つまり、次のように記述する必要があります。

function buttonClicked() {
     getAttr($("#test")[0]);
}

それ以外の:

function buttonClicked() {
     getAttr($("#test"));
}

更新されたフィドルはこちらにあります

于 2012-07-13T13:20:27.957 に答える