Php Jquery代码,用于为循环内的链接分配不同的变量
我在wordpress循环中有下面的代码,因此变量$perf和$url每次都会更改Php Jquery代码,用于为循环内的链接分配不同的变量,php,jquery,Php,Jquery,我在wordpress循环中有下面的代码,因此变量$perf和$url每次都会更改 <div class="link" data-performer="<? echo $perf; ?>"> <a class="performer_rp" href="<? echo $url; ?>">My anchor</a> </div> 问题是,我只得到$perf的第一个值,它不会随着循环而改变 让我们假设循环“循环”5次,
<div class="link" data-performer="<? echo $perf; ?>">
<a class="performer_rp" href="<? echo $url; ?>">My anchor</a>
</div>
问题是,我只得到$perf
的第一个值,它不会随着循环而改变
让我们假设循环“循环”5次,我得到5个$perf
值:value1,value2。。。价值5
jquery代码每次都将值1赋值
为什么呢?
非常感谢你 我会这样做:
function performer_rp(){
var perf;
$("a.performer_rp").click(function() {
//get the value from the parent (as suggessted in the comment you can also use
//$(this).closest('div.link').data('performer'); if the '<a>' is not a direct child of the div
perf = $(this).parent().data('performer');
this.href += "?perf="+perf+"";
});
};
选择器
$(".link");
正在获取包含所有链接的集合(示例中为5)。
当你这么做的时候
perf = $(".link").data('performer');
您只获得集合中第一个元素的数据值您好,我不确定是否有您的问题。为什么要在单击时指定值 相反,您可以尝试这样做,以便在加载页面后分配所有“数据执行者”值
$(document).ready(function() {
$(".link").each(function(){
var parent = $(this),
old_link = parent.find('a.performer_rp').attr('href');
new_link = old_link + "?perf="+parent.data('performer');
parent.find('a.performer_rp').attr('href', new_link)
});
});
例如:
嗯,泰,这太好了,虽然我得到的性能值未定义,但我会检查我的代码是否有效,非常感谢!请告诉我,谷歌不会用添加的perf变量为这些链接编制索引,对吗?:)这就是我这么做的原因way@webmasters:Nicola的代码应该可以用,是的,可能是其他地方的代码。如果
a.performer\u rp
元素并非如您所示的div.link
元素的直接子元素,则可能需要更改$(this.parent().data('performer')代码>到$(this).最近('div.link')。数据('performer')代码>取而代之。但对于您所展示的标记,链接实际上是div的直接子项,Nicola的代码很好。@T.J.Crowder是的,最近的可能更好,我正在考虑这个标记,如果您将链接嵌套在潜水中更深的位置,请使用最近的()@站长我对谷歌搜索引擎了解不多,对不起!:)我希望安全,不要让谷歌用perf属性索引我的链接。它会把我所有的博客都弄乱。很奇怪,但我们永远不知道谷歌是否会开始索引javascript在点击瞬间或页面加载后分配给链接的值,我真的不认为这是一种安全的方法,如果某些事情真的很重要,我会选择不加密
perf = $(".link").data('performer');
$(document).ready(function() {
$(".link").each(function(){
var parent = $(this),
old_link = parent.find('a.performer_rp').attr('href');
new_link = old_link + "?perf="+parent.data('performer');
parent.find('a.performer_rp').attr('href', new_link)
});
});