-2

为了实现这个问题的目标How to apply a url path in after pseudo element? 我想为菜单项 ID 分配一个链接。

在php代码中我写了这个:

<?php
$app = JFactory::getApplication();
$menu = $app->getMenu();
$item = $menu->getItem(474);
?>

如您所见,jquery 代码是:

var $link = $('<a>',{
    class: 'all-news-link',
    href: <?php $item; ?> // **here how to assign the link which is assigned in php?**
});

$('#custom-module .moduletable:nth-child(2) h3').append($link);

更新

根据提供的链接,我使用了 json_encode 但也没有解决我的问题。它现在甚至没有警报。

<?php
$app = JFactory::getApplication();
$menu = $app->getMenu();
$link1 = $menu->getItem(474);
?>

<script>
$(document).ready(function(){  
var $link = $('<a>',{
    class: 'all-news-link',
    href: <?php echo json_encode( $link1 ); ?>
});
$('#custom-module .moduletable:nth-child(2) h3').append($link);
alert("hi"); // it is not alerting
});

</script>

当href:' http ://www.google.com/ '使用它的警报“hi”但是当我使用php json_encode()它甚至没有警报意味着jquery无效

4

1 回答 1

0

链接应该是一个字符串。

$item = $menu->getItem(474);

返回一个stdClass

你应该得到路线:

$id = 474;
$link = JRoute::_($menu->getItem($id)->link);

尝试这个:

$(function(){  
    var $link = $('<a>',{
        class: 'all-news-link',
        href: <?php echo json_encode( $link ); ?>
    });
    $('#custom-module .moduletable:nth-child(2) h3').append($link);
});

这设置href为有效的 Javascript 字符串。

于 2013-09-08T10:47:51.200 回答