1

その非常に基本的なオブジェクト指向のjavaScript関連の質問だと思います。しかし、私はまだそれについて非常に混乱しています。$(this)オブジェクトをある関数から別の関数に渡したいのですが。リンクのhref属性をクリックできるようにします。

ここに私のサンプルコード

HTML

<a href="#testblah" class="test" rel="image">TEST</a>
<a href="#blahtest" class="test" rel="video">TEST</a>

JS

$(document).on("click", ".test", function () {

var $this = $(this);
var rel = $this.attr("rel");

if (rel == "image") {
    e.preventDefault();
    openImage($this);
} else if (rel == "video") {
    openVideo($this);
}
});

function openImage($this) {

var href =  $this.attr("href");
alert(href);
}
4

2 に答える 2

0

jQueryのドキュメントページの例を確認してください。onメソッドが選択した要素に適用されることがわかります。コードの場合、それはドキュメントオブジェクトです。必要な属性を取得するために、要素をラップするためにjQueryは必要ありません。これがJSBinのです。もう1つ、reemplace == with ===を試して、型チェックも取得してください。それが役に立てば幸い

于 2013-03-25T18:01:10.827 に答える
0

私の質問には1つの小さな構文エラーがありました(質問の最初のコメントを確認してください)

以下は私が使用することになったコードです。

$(document).on("click", ".test", function (e) {

    var anchor = $(this);
    var rel = anchor.attr("rel");

    if (rel == "image") {
        e.preventDefault();
        openImage(anchor);
    } else if (rel == "video") {
        openVideo(anchor);
    }
    });

    function openImage(anchor) {
    var href =  anchor.attr("href");
    alert(href);
    }

ありがとうございました!

于 2013-04-04T09:40:22.500 に答える