要实现此问题的目标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无效
答案 0 :(得分: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字符串。