如何将变量传递到jquery负载选择器?
我正在使用ajax在div中加载一个页面。当我有一个固定的选择器div,比如-如何将变量传递到jquery负载选择器?,jquery,ajax,load,selector,Jquery,Ajax,Load,Selector,我正在使用ajax在div中加载一个页面。当我有一个固定的选择器div,比如- $('.ajaxurl').click(function(){ $('.selected-blog').load($(this).attr('href')); return false; }); 此处“.selected blog”是一个固定条目 但是,我在页面上有多个.ajaxurl链接,每个链接都有各自的“.selected blog”div,因此我希望能够根据单击的.ajaxurl链接将源加载
$('.ajaxurl').click(function(){
$('.selected-blog').load($(this).attr('href'));
return false;
});
此处“.selected blog”是一个固定条目
但是,我在页面上有多个.ajaxurl链接,每个链接都有各自的“.selected blog”div,因此我希望能够根据单击的.ajaxurl链接将源加载到不同的div中。换句话说,每个.ajaxurl链接都需要有一个对应的唯一的.selected blog-[id]类,单击该链接需要将[id]变量传递到函数中,以便将其附加到选择器中
我已经尝试给.ajaxurl链接一个id,作为变量传递给jquery,因此主体代码是-
<div class="teaser-id<?php print $id; ?>">
<a class="ajaxurl" id ="id<?php print $id; ?>" href="[pagelink]">Click me</a>
stuff here
</div>
<div class="selected-blog-id<?php print $id; ?>"></div>
[this above code repeats for each teaser in the list]
$('.ajaxurl').click(function(){
var x = this.id;
$('.selected-blog-,'+x).load($(this).attr('href'));
return false;
});
但我不能让它工作,我做错了什么
(最后,如果它对解决方案有影响,这是另外一点-我想隐藏摘要-[id]div,因此如果传递的变量也可以用于这个.hide()函数,那就太好了!)
我该怎么做
非常感谢 您不需要将html变得如此复杂。您可以简单地使用jquery获取下一个div,其中包含类
选择的blog id
,以将内容加载到其中。
以下几点应该适合你:
HTML:
<div class="teaser-id">
<a class="ajaxurl" href="[pagelink]">Click me</a>
stuff here
</div>
<div class="selected-blog-id"></div>
$('.ajaxurl').click(function(e) {
var $parent = $(this).parent();
// hide the teaser
$parent.hide();
// load content into the next div with selected-blog-id
$parent.next('.selected-blog-id').load(this.href);
e.preventDefault();
});
你不需要让你的html如此复杂。您可以简单地使用jquery获取下一个div,其中包含类
选择的blog id
,以将内容加载到其中。
以下几点应该适合你:
HTML:
<div class="teaser-id">
<a class="ajaxurl" href="[pagelink]">Click me</a>
stuff here
</div>
<div class="selected-blog-id"></div>
$('.ajaxurl').click(function(e) {
var $parent = $(this).parent();
// hide the teaser
$parent.hide();
// load content into the next div with selected-blog-id
$parent.next('.selected-blog-id').load(this.href);
e.preventDefault();
});
您正在将
ajaxurl
元素打印为id=“id”
,您是否打算改为执行id=”“
?您正在将ajaxurl
元素打印为id=“id”
,是否打算执行id=“”
取而代之的是?有几处内容似乎输入错误,否则您可能需要再次检查以下内容:
<div class="teaser-id-<?php print $id; ?>">
<a class="ajaxurl" id ="blog-<?php print $id; ?>" href="[pagelink]">Click me</a>
<!-- <a class="ajaxurl" id ="id<?php print $id; ?>" href="[pagelink]">Click me</a> -->
stuff here
</div>
<div class="selected-blog-<?php print $id; ?>"></div>
<!-- <div class="selected-blog-id<?php print $id; ?>"></div> -->
[this above code repeats for each teaser in the list]
更新
根据评论更改此
$('.selected-blog-'+x).load($(this).attr('href'));
有几项内容似乎输入错误,否则您可能需要再次检查以下内容:
<div class="teaser-id-<?php print $id; ?>">
<a class="ajaxurl" id ="blog-<?php print $id; ?>" href="[pagelink]">Click me</a>
<!-- <a class="ajaxurl" id ="id<?php print $id; ?>" href="[pagelink]">Click me</a> -->
stuff here
</div>
<div class="selected-blog-<?php print $id; ?>"></div>
<!-- <div class="selected-blog-id<?php print $id; ?>"></div> -->
[this above code repeats for each teaser in the list]
更新
根据评论更改此
$('.selected-blog-'+x).load($(this).attr('href'));
谢谢J.罗梅罗!我在这些部分中添加了文本“id”,因为$id是一个数字,根据我的理解,不能以数字开始id。例如,最终结果将是id=“id3”。我尝试了上面更改的代码,但无法使其工作。在这种情况下,jquery选择器与显示的id不匹配。
var x=this.id
x=id3,您选择的blog div是selected-blog-id3
,但是jquery正在查找$('.selected blog-,'+x)
,它被解释为类。selected blog
或id3
(不是正确的选择器),因为逗号。去掉逗号,它应该会起作用。谢谢J Romero!我没有意识到用逗号。非常有用!!谢谢J.罗梅罗!我在这些部分中添加了文本“id”,因为$id是一个数字,根据我的理解,不能以数字开始id。例如,最终结果将是id=“id3”。我尝试了上面更改的代码,但无法使其工作。在这种情况下,jquery选择器与显示的id不匹配。var x=this.id
x=id3,您选择的blog div是selected-blog-id3
,但是jquery正在查找$('.selected blog-,'+x)
,它被解释为类。selected blog
或id3
(不是正确的选择器),因为逗号。去掉逗号,它应该会起作用。谢谢J Romero!我没有意识到用逗号。非常有用!!我在这些部分中添加了文本“id”,因为$id是一个数字,根据我的理解,不能以数字开始id。例如,最终的结果是id=“id3”。我在这些部分中添加了文本“id”,因为$id是一个数字,根据我的理解,不能以数字开始id。例如,最终结果将是id=“id3”。