Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery与HTML替换_Javascript_Jquery_Html - Fatal编程技术网

Javascript Jquery与HTML替换

Javascript Jquery与HTML替换,javascript,jquery,html,Javascript,Jquery,Html,我创建了和if-else语句来反映适当的特定文本,我在这里设置了一个Jfiddle: 我试图完成的是,取决于用户是否登录,文本将从登录或创建帐户(如果欢迎来宾)或说注销(如果登录,即:欢迎朋友)更改 HTML: <div class="welcome"> Welcome Guest <span class="acctLink"> </span></div> <div class="welcome"> Welcome Friend <

我创建了和if-else语句来反映适当的特定文本,我在这里设置了一个Jfiddle:

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

HTML:

<div class="welcome"> Welcome Guest <span class="acctLink"> </span></div>
<div class="welcome"> Welcome Friend <span class="acctLink"> </span></div>
在JSFiddle中,它正在验证脚本,但是else语句周围的括号以绿色突出显示


跟进

感谢大家的帮助,我能够让jquery按预期工作,以及我是如何需要它工作的。再次感谢您的帮助,这是我的最终解决方案(可能是一种更好的方法,欢迎反馈):

HTML:

欢迎%%GLOBAL\u CurrentCustomerFirstName%%()
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>');

    }
});
$('.welcome')。每个(函数(){
if($(this).is(':contains(“Guest”))){
$(this.find(“span.customerMenu”).html(“”);
}否则{
$(this.find('span.customerMenu').html(“”);
}
});
试试这个:

$('.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"); 
    }
});


另外,您还没有包含
jQuery

我认为您正在查看以下内容:

$(“.welcome”)。每个(函数(){
if($(this).is(':contains(“Guest”)){//检查类为welcome的元素是否包含Guest文本
$(this).children(“span”).html(“登录或创建帐户”);//查找span元素并更改文本
}否则{
$(this).children(“span”).html(“注销”);//如果带有类welcome的div不包含来宾文本,请在此处更改span文本
}
});

迎宾
欢迎凯特

我觉得不错。逻辑错误很可能是罪魁祸首。它起作用了,只是JSFIDLE中没有为jqueryWell设置库,实际上您还没有在FIDLE中包含jQuery。在左边的“框架和扩展”下。另外,绿色括号/大括号表示光标正在触摸它们。首先。当光标位于括号后时,绿色只是一个指示器,用于指示光标的起点(或终点)。2:jQuery没有加载,如果你看到发生了什么,也许你可以调试它:Kate-脚本真的有问题吗,或者你只是担心绿色括号?谢谢George!我把它直接从网站上取下来放在JSFIDLE中,很抱歉我错过了,谢谢你发现了它。有时候你只需要一双眼睛:)谢谢!我一定会看看你提供的链接。
$('.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>');

    }
});
$('.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"); 
    }
});