2016-06-20 19 views
-1

アンカー要素にclassまたはidがありません。そのアンカー要素にクリックハンドラを追加します。私は、次のように試みたが、運:アンカー要素にクリック機能を追加する

'<'a href="dosmthng" > do something</a> 
var dosm = $('a[href^="dosmthng"]') //this works perfect it select anchor element 
$(dosm).click(function() { 
    alert(" click() called."); 
}); 

クリック機能はエラーをスローしません:

VM556763:211 Uncaught DOMException: Failed to execute 'querySelector' on 'Document'.

は、任意のより良いアプローチは、2つはこれを達成ありますか?

P.Sファイル内のHTMLコードを変更することはできません。

+0

実際のHTMLコードとJSコードを投稿できますか?あなたが質問で提供したことはちょっと混乱しています。あなたのマークアップが正しいとすれば、あなたはうまくいきます:https://jsfiddle.net/RoryMcCrossan/L8Lqb2qt/。コンソールのエラーを確認してください。 –

+0

'$( 'a [href^=" dosmthng "]')というのはなぜですか?( 'click'、function(){...});'? –

+0

@GuruprasadRaoが試行しましたが、エラー – sar

答えて

0

このお試しください:私は1つの可能性を参照アンカータグを確認し、HTML

$(document).ready(function(){ 
 
    var dosm = $('a[href^="dosmthng"]') //this works perfect it select anchor element 
 

 
    $(dosm).click(function(e) { 
 
     e.preventDefault(); 
 
     alert(" click() called."); 
 
    }); 
 
}); // doc-ready ends
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
 
<a href="dosmthng" > do something</a>

+0

これが問題であれば、エラーは発生しません。クリックハンドラはまったくアタッチされません。 –

0

から不要な引用符を削除します)document.ready

2のクリックイベントを追加)

1あなたが最後にセミコロンを紛失しています

+0

これはjavascriptですが、セミコロンはありません。 –

+0

ええ、本当に?それから私にこのことを教えてください.. @ freedomn-m .. http://stackoverflow.com/questions/1834642/why-should-i-use-a-semicolon-after-every-function-in-javascript –

+0

それらは場合によっては必要ではないかもしれませんが、それを入れないという望ましくない結果を説明してください –

関連する問題