Javascript 如果为空并匹配url,将3小段PHP函数重构为JS-array?

Javascript 如果为空并匹配url,将3小段PHP函数重构为JS-array?,javascript,php,jquery,Javascript,Php,Jquery,我不太喜欢JS,但我想知道如何将我的PHP运行到JS中。如何仅使用Javascript执行以下操作 // 1. Getting the request <?php if($_GET["slider"]=="1"){ ?> $(".class1 a").click() <?php } ?> <?php if($_GET["slider"]=="2"){ ?> $(".class2 a").click() // 2. Matching the URL

我不太喜欢JS,但我想知道如何将我的PHP运行到JS中。如何仅使用Javascript执行以下操作

// 1. Getting the request
<?php if($_GET["slider"]=="1"){ ?>
$(".class1 a").click()      
<?php } ?>
<?php if($_GET["slider"]=="2"){ ?>
$(".class2 a").click()

// 2. Matching the URL and setting an active class on the list item
<li><a href="my_page.php" class="<?php if (strrpos($_SERVER['REQUEST_URI'], 'my_page') !== FALSE ) {?>active<?php } ?>">My Page</a></li>

// 3. Nav array and If empty
<?php
$navigation = array(
    'previous'  => 'page1.php',
);

if (isset($navigation['previous']))
{
?>
<div class="prev">
    <a href="<?php echo $navigation['previous']; ?>">
        <span class="previous-icon"></span><span>Previous</span>
    </a>
</div>
//1。获取请求
$(“.class1 a”)。单击()
$(“.class2 a”)。单击()
// 2. 匹配URL并在列表项上设置活动类
  • // 3. 导航阵列,如果为空
    我在谷歌搜索后的尝试

    <?php if(var _GET["slider"]=="1"){ } if(_GET["slider"]=="2"){ if (strrpos(var _SERVER['REQUEST_URI'], 'my_page') !== false ) {} var navigation = {
        'previous'  : 'page1.php',
    };
    
    if ((navigation['previous']))
    {
    
    
    
  • 您可以像下面这样获取“get”值(查询字符串)

  • window.location.href.indexOf(“我的页面”)!=-1
    ,搜索window.location和indexOf以获取进一步解释

  • 校验码

    var navigation = {previous:"page1.php"};
    document.write('<a href="'+navigation["previous"]+'">....');`
    
    var-navigation={previous:“page1.php”};
    文件。写(“…”)`
    
  • 数组在js中不能有字符串索引,需要使用对象; 您也可以改用navigation.previous


    你不能像使用php那样混合使用js和html,你必须使用document.write或其他DOM操作函数“回显”所有内容。有关这些主题的更多帮助,请搜索粗体部分。

    回答以下三个问题:

    1:如果URL中有变量,则单击某个内容(即
    /page.php?slider=1
    ):签出,详细说明如何在jQuery中从URL检索变量。简而言之,你可以这样做

    function getUrlVars()
    {
        var vars = [], hash;
        var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
        for(var i = 0; i < hashes.length; i++)
        {
            hash = hashes[i].split('=');
            vars.push(hash[0]);
            vars[hash[0]] = hash[1];
        }
        return vars;
    }
    
    3:如果您希望使用Javascript数组创建链接的动态列表,可以执行以下操作:

    var myLinks = {
      "link_1_title": "http://www.example.com", 
      "link_2_title": "http://www.stackoverflow.com/"
    }
    $.each(myLinks, function(key, val) {
        $('.navbar').append('<a href="' + val + '">' + key + '</a>');
    }
    
    var myLinks={
    “链接标题”:http://www.example.com", 
    “链接2标题”:http://www.stackoverflow.com/"
    }
    $.each(myLinks,function(key,val){
    $('.navbar')。附加('');
    }
    

    有关
    jQuery的详细说明,请参见。

    听起来你有一个邪恶的联盟,PHP绘制JS,然后JS做事情。这是一个灾难。你的PHP应该将你的数据传递给JS,然后让JS完成工作。不要混淆逻辑。有一个干净的切换

    <script>
    var something = <?php echo $var ?>;
    myclass = new someClass(something);
    </script>
    
    
    var某物=;
    myclass=新的someClass(某物);
    
    不要将php与js混用。使用ajax。@aliasm2k感谢您的提醒。我想从这个应用程序中完全删除php,并将其转换为js的静态HTML。然后使用ajax与外部php文件进行交互。快速谷歌将帮助我需要抛出文件的服务器完全不支持php。因此,我正在寻找基于js的解决方案对于上面的函数。你在使用jQuery吗?感谢@Quad的解释-很高兴看到有人乐于帮助我,并让我了解更多。我会尝试一下,一旦我解决了这个问题,就接受答案。
    <script>
    var something = <?php echo $var ?>;
    myclass = new someClass(something);
    </script>