用HTML替换的Jquery

时间:2014-10-15 20:22:26

标签: javascript jquery html

我创建了if else语句以反映适当的特定文本,我在这里设置了一个Jfiddle:http://jsfiddle.net/heykate/osvg4h33/

我想要完成的工作取决于用户是否已登录,文本将从登录或创建帐户(如果是欢迎来宾)更改,或者说注销(如果登录,即:欢迎朋友)

HTML:

<div class="welcome"> Welcome Guest <span class="acctLink"> </span></div>
<div class="welcome"> Welcome Friend <span class="acctLink"> </span></div>

JQUERY:

if ($('.welcome:contains("Guest")').length > 0) 
{
    $("span.acctLink").html("Sign In Or Create An Account");
}
else
{
    $('span.acctLink').html("Sign out"); 
}

在JSFiddle中,它正在验证脚本,但括号是&#39;在else语句周围突出显示为绿色。


跟进

感谢各位帮助,我能够让jquery按预期工作,以及我需要它如何工作。再次感谢所有的帮助,这是我的最终解决方案(可能是更好的方法 - 反馈总是受到欢迎):

HTML:

<div class="welcome">Welcome %%GLOBAL_CurrentCustomerFirstName%% (<span class="customerMenu"> </span>)</div>

JQUERY:

$('.welcome').each(function () {
    if ($(this).is(':contains("Guest")')) {
        $(this).find("span.customerMenu").html('<a href="/login.php">Sign In<a/> Or <a href="/login.php?action=create_account">Create An Account</a>');
    } else {
        $(this).find('span.customerMenu').html('<a href="/login.php?action=logout">Sign out</a>');

    }
});

2 个答案:

答案 0 :(得分:4)

试试这个:

$('.welcome').each(function(){
    if ($(this).is(':contains("Guest")'))
    {
        $(this).find("span.acctLink").html("Sign In Or Create An Account");
    }
    else
    {
        $(this).find('span.acctLink').html("Sign out"); 
    }
});

http://jsfiddle.net/osvg4h33/11/

你还没有jQuery库包含

答案 1 :(得分:4)

我想你是这样看的:

$(".welcome").each(function () {
    if ($(this).is(':contains("Guest")')) { //check if element with class welcome contains Guest text
        $(this).children("span").html("Sign In Or Create An Account");//find span element and change the text
    } else {
        $(this).children("span").html("Sign out");//here change span text if div with class welcome doesn't contains Guest text
    }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="welcome">Welcome Guest <span class="acctLink"> </span>

</div>
<div class="welcome">Welcome Kate <span class="acctLink"> </span>

</div>

参考文献:

.children()

.is()