2013-03-04 64 views
0

我有一个导航由多个动态创建的列表项组成。其中一个“标签”或项目被标记为“注册”,但是,一旦用户登录(这将表明他们已经“注册”),我想更改导航项目上的标签以读取“升级” 。如果用户已登录,则更改导航列表项

是否有可能使用jQuery来改变选定列表项的文本(在这种情况下,它是第4项) - 如果可能的话,我可以把它包装在一个php if语句来执行它,当用户是登录。

我的问题是,如何更改使用jQuery的列表项的文本?

+4

为什么写PHP写一个jQuery的功能,而不是仅仅使用PHP'如果($的loggedIn){回声“升级”; }其他{回声“注册”; }' – AmazingDreams 2013-03-04 11:38:11

+0

这是正确的@AmazingDreams – 2013-03-04 11:40:53

+0

道歉,应该补充说,该列表是动态创建的,所以我不能只编辑单个列表项的代码。 – 2013-03-04 11:46:53

回答

2

在jQuery中更改列表项的使用

$('#element_id').text("new text"); 

然而,由于使用的是PHP,你已经可以在PHP中发现,如果用户已签署的文本,并从PHP可以使列表项目“注册”根本不显示。在这种情况下不需要使用jQuery。

+0

非常感谢。我需要使用jquery来选择元素,因为导航列表是动态创建的。 – 2013-03-04 11:43:05

2
$('#yourListItemId').text('Your new text!'); 

指定选择器访问您的元素。

1

我完全同意AmazingDreams,在你的上下文中使用jQuery似乎是多余的。恕我直言,你想执行的逻辑应该实现服务器端,除非你有一个很好的理由,禁止你这样做。下面是PHP中的简单的例子,你想要做什么:

<?php 
    session_start(); 
    if($_SESSION['loggedIn'] === true): 
?> 
<ul> 
    <li><a href="#"><?php echo $_SESSION['user']; ?></a></li> 
    <li><a href="#">Upgrade</a></li> 
    <!-- other options --> 
</ul> 
<?php else: ?> 
    <?php //header to login.php ?> 
<?php endif; ?> 
相关问题