在JQuery中连接两个字符串

时间:2014-04-29 09:42:05

标签: javascript jquery

就像上面的标题:如何在JQuery中连接两个字符串?

到目前为止,这是我的代码:

$(document).ready(function(){           
    serviceName = '<?=$_GET['services'] . ".php";?>';
    serviceID='<?= "#" .$_GET['services'];?>';
    serviceClass = '<?=$_GET['services'];?>';

    if (serviceName != "") {
        alert(serviceID);
        $('.main_content').load(serviceName);
        $(serviceID).addClass("it");
    }
});

正如您在上面的代码中看到的,在变量名serviceID中,我连接hashtag和我的GET值,我尝试将其置于ALERT上,结果是正确的,但当我将其分配给.addClass时,它无效。

非常感谢任何替代方案和解决方案。

3 个答案:

答案 0 :(得分:11)

我想你的意思是在到达客户端之前应该评估PHP代码,因此你的代码语法是正确的,但是看看下面看起来更清晰,也没有污染全局JavaScript范围(这是什么var ...适用于:

var serviceClass = '<?="{$_GET["services"]}";?>';
var serviceName = serviceClass+'.php';
var serviceId = '#'+serviceClass;

但是,由于您的代码语法是正确的,因此您应该在执行时确认实际上有一个带有serviceId的元素作为id

if (($(serviceId)||[]).length) {
    alert('your element with the id:'+serviceClass+' exists');
}
else {
    alert('your element with the id:'+serviceClass+' doesn\'t exists');
}

答案 1 :(得分:3)

我希望这个解决问题:

<script>
             $(document).ready(function(){              
                serviceName = '<? echo "./".$_GET["services"].".php";?>';
                serviceID   = '<? echo "#" .$_GET["services"];    ?>';
                serviceClass ='<? echo $_GET["services"];         ?>';

            console.log(serviceID);

                if(serviceName!=""){
                    alert(serviceID);
                    $('.main_content').load(serviceName);
                    $(serviceID).addClass("it");

                }
});
</script>

还要检查浏览器中的控制台(firebug或chrome开发人员工具)以查看输出,符合您的标准

答案 2 :(得分:0)

尝试但不确定,我的更改是在jquery

中附加"#" ID
<script>
             $(document).ready(function(){              
                serviceName = '<?=$_GET['services'] . ".php";?>';
                serviceID='<?= $_GET['services'];?>';
                serviceClass = '<?=$_GET['services'];?>';

                if(serviceName!=""){
                    alert(serviceID);
                    $('.main_content').load(serviceName);
                    $("#"+serviceID).addClass("it");

                }
});
</script>