4

別のページ#contentからdivを現在のページのdivにロードする次のjqueryコードがあります。#result

$('a').click(function(event){
  $('#result').load('abother_page.html #content');
});

ご覧のとおり、リクエストされたファイルの名前と、表示したい特定の div を、load メソッドで送信される文字列にハードコーディングしています。

これを動的にしようとしていますが、私のコードには何かが欠けています:

// get the href of the link that was clicked
var href=$(this).attr('href');
// pass the href with the load method
$('#result').load('href #content');

作成した href 変数が文字列に補間されていないため、明らかにこれは機能しません。どうやってやるの?

私は次のことを試しましたが、すべて成功しませんでした:

// Ruby-style: 
$('#result').load('#{href} #content');
// Concatenating-style
$('#result').load(href + '#content');
4

2 に答える 2

12

「ここ」で示されるスペースを追加します。

$('#result').load(href + ' #content');
                          ^---- here

失敗した試行の説明は次のとおりです。

//this code used the string "href" as the url
$('#result').load('href #content');

//javascript doesn't have this syntax for wrapping variables like in PHP
$('#result').load('#{href} #content');

//this code appended "#content" like it was a hash tag
$('#result').load(href + '#content');
于 2012-04-23T02:25:02.060 に答える