web-dev-qa-db-ja.com

クリックされた要素のrel値を取得する方法

こんにちは私はクリックされているボタンのrel値を取得しようとしています:

function forwardStep()
{
    $("#forwardStep").bind("click", function(){
        var page = $(this).attr('rel');

それはほとんど基本ですが、「未定義」のリターンです。なぜなのかご存知ですか?

よろしくフィルジャクソン

8
Phil Jackson

IDのあるボタンを使用している場合、関数はボタンに固有であるため、rel属性から追加のデータを取得する必要はありません。

ただし、他の理由がある場合は、ボタン自体にrel属性が定義されていることを確認する必要があります。

<input id="forwardStep" rel="test" type="button" value="forward" />

そしてあなたの関数は適切に閉じられます

$(document).ready(function(){
 $('#forwardStep').bind('click',function(){
  var page = $(this).attr('rel');
  alert(page);
 })
})
19
Mottie

定義されていなかったので? HTMLはどこにありますか?適切な要素をターゲットにしていると確信していますか?

0
meder omuraliev

$(this)は、「#forwardStep」のIDを持つ要素を提供するため、この例が機能するには、リンクまたはアンカーである必要がありますが、ボタンであると述べました。

ボタンがrel属性を持つことはできないと思います。リンクからrel属性を取得しようとしている場合は、「this」ではなく、そのリンクを選択する必要があります。例えば$( '#theLinkId')。attr( 'rel')。

この質問にHTMLを追加する必要があります。

0
Lance Fisher