私はjqueryの初心者です。私は、ページを再ロードせずにコンテンツを読み込むページを作成しようとしています。私のテストページには、リンク1とリンク2の2つのリンクがあります。デフォルトのページがクリックされたとき。それはちょうど 'こんにちは'と言う。いずれかのリンクをクリックすると、「Hello link1」(リンク1をクリックした場合)、「Hello link2」(リンク2をクリックした場合)と表示されます。 Link1の内容(html)はlink1.htmlにあり、link2の内容はlink2.htmlファイルにあります。いずれかのリンクをクリックすると、リンクのhtmlページの名前がパラメータとして渡されます。ここ は私がやったことです:私はちょうどパラメータとしてhtmlファイルの名前を渡した場合、問題があるjqueryでパラメータとして渡されたhtmlファイルをロードしますか?
<head>
<title>Ajax Practice</title>
<script type="text/javascript" src="scripts/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("a").click(function test(filename){
alert(filename);
var b = $("a").attr("title");
alert(b);
//$('#menuContents').load($(filename)).fadeIn("slow");
//$('#menuContents').load('link1.html').fadeIn("slow");
$('#menuContents').load(b).fadeIn("slow");
});
});
</script>
</head>
<body>
<div id="page-wrap">
<div id="menu">
<a href="javascript:test('link1.html');" title="link1.html">link1</a>
<a href="#" title="">link2</a>
</div>
<div id="menuContents">
<h1>Hello!</h1>
</div>
</div>
</body>
</html>
、それは代わりに、それはオブジェクトとして読み込むのを取得し、文字列値として読まれません。コード内の最初のアラートは、[オブジェクトオブジェクト]メッセージを表示します。 .attr属性を使用してリンクのタイトルからテキストを読み込み、.load属性を使用してページを読み込むことができます。また、.load属性で直接HTMLページ名を与えることで、ページの内容を変更することもできます(コードでコメントアウト)。
ハードコーディングやタイトルからの読み込みではなく、HTMLページの名前をパラメータとして渡すことができる人はいますか?
ありがとうございます。
残念ながら、これは動作しないでしょう。 http://jsfiddle.net/5zffN/2/ –
少なくとも、伝播を防ぐ必要があります。そうでなければ、$( 'a')の後にhrefがトリガーされます。 –