我有以下PHP从我的MYSQL表中返回记录。这些记录显示为LINKS。请参阅下面的代码......
<div class="slide1" id="u1026">
<?php while ($row = mysql_fetch_array($query_rental)) {
echo "<a class='fancybox fancybox.iframe' id='rental' value={$row['layout']} href=\"brochures\items-rental.php?id={$row['client_name']}\"></a>";
}?>
</div>
我想要的是将HREF链接更改为
\&#34;小册子\项租赁-layout2.php ID = {$行[&#39; CLIENT_NAME&#39;]} \
如果VALUE包含文字&#34; layout2&#34;。我知道我可以使用jquery代码更改HREF
$(document).ready(function () {
$("#event").attr("href", "http://the.new.url")
});
我根本不确定怎么做,取决于VALUE是否包含文字&#34; layout2&#34;。任何帮助深表感谢。感谢
答案 0 :(得分:2)
您可以直接在PHP代码中执行此操作:
while ($row = mysql_fetch_array($query_rental)) {
$layoutFlag = $row['layout'] == 'layout2' ? '-layout2' : '';
echo "<a class='fancybox fancybox.iframe' id='rental' value=\"{$row['layout']}\" href=\"brochures\items-rental{$layoutFlag}.php?id={$row['client_name']}\"></a>";
}
您也可以使用Javascript:
$(function () {
// I'm assuming you are going to turn it into a rental class, otherwise change the selector to whatever.
$("a.rental").each(function() {
var rentalItem = $(this);
if (rentalItem.attr('value') === 'layout2') {
// You can choose what to replace, as long as you know it will replace EXACTLY what you want it to. I'm just going with Regex's ^ (start-of-line) operator to make sure that what we are replacing is at the start of the line...
rentalItem.attr('href', rentalItem.attr('href').replace(/^brochures\\items\-rental/, 'brochures\\items-rental-layout2'));
});
});
正如您所看到的,只需在PHP中执行它就容易多了。
另外,作为旁注,您要创建具有相同id
的多个元素。也许你的意思是class='fancybox fancybox.iframe rental'
?
作为第二方,我建议使用data-
前缀来保存自定义数据。在布局的情况下,请使用data-layout='layout-whatever'
。然后,您可以使用.attr('data-layout')
获取布局属性(它更容易理解代码的作用!)。
答案 1 :(得分:1)
您可以在IF
循环
PHP
语句
while ($row = mysql_fetch_array($query_rental)) {
echo "<a class='fancybox fancybox.iframe' id='rental' value={$row['layout']} href=\"brochures\items-rental".($row['layout'] == 'layout2' ? '-layout2' : '').".php?id={$row['client_name']}\"></a>";
}
或者通过jQuery
$( "a.fancybox" ).each(function( index ) {
if($(this).val() == "layout2") {
oldHref = $(this).attr('href');
newHref = oldHref.replace('items-rental.php', 'items-rental-layout2.php')
$(this).attr('href', newHref);
}
});
您的所有链接都具有相同的ID,当您想要使用jQuery时,这些ID可能会导致一些问题。
如果你有更多带有fancybox类的标签,请尝试为这些标签添加一个唯一的类并更新每个循环