Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.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工作吗?_Javascript_Jquery - Fatal编程技术网

为什么赢了';这不是我的javascript工作吗?

为什么赢了';这不是我的javascript工作吗?,javascript,jquery,Javascript,Jquery,以下是我的javascript代码(反斜杠用于转义): $(函数(){ //日期选择器 $(\'\'开始\')。日期选择器({ 内联:对 }); }); 以及相关的HTML: <input type="text" name="start" id="start" class="hasDatepicker" /> 它与jquery和jQueryUI附带的示例代码基本相同。我认为这可能是因为所有内容都被附加到一个名为$content的变量,并在末尾进行回音,而不是简单的HTML

以下是我的javascript代码(反斜杠用于转义):


$(函数(){
//日期选择器
$(\'\'开始\')。日期选择器({
内联:对
});
});
以及相关的HTML:

<input type="text" name="start" id="start" class="hasDatepicker" />

它与jquery和jQueryUI附带的示例代码基本相同。我认为这可能是因为所有内容都被附加到一个名为$content的变量,并在末尾进行回音,而不是简单的HTML

我很感激你能解答这个难题

我也许应该更直观地了解我的代码是如何设置的,而不是在最后解释它。这通常是它的外观:

$content .= '<script type="text/javascript">
        $(function(){
            //datepicker
            $(\'#start\').datepicker({
                inline: true
            });
        });
</script>';
$content.='
$(函数(){
//日期选择器
$(\'\'开始\')。日期选择器({
内联:对
});
});
';
My HTML同样添加到$content中:

$content .= '<input type="text" name="start" id="start" class="hasDatepicker" />';
$content.='';

您尝试过不使用反斜杠吗

<script type="text/javascript">
        $(function(){
            //datepicker
            $('#start').datepicker({
                inline: true
            });
        });
</script>

$(函数(){
//日期选择器
$(“#开始”).datepicker({
内联:对
});
});
真的没什么好逃避的

以及:

您是否使用firebug或任何其他web调试工具?

回答更新的问题
$content
变量将输出以下内容:

<script type="text/javascript">
  $(function(){
    //datepicker
    $('#start').datepicker({
      inline: true
    });
  });
</script>
对原问题的答复 当在由单引号封装的字符串中使用单引号时,可以进行转义。但你不能在这里逃跑:

$(\'#start\'); // No-no
检查控制台输出,您可能会看到如下结果:
SyntaxError:Unexpected-token-liquired

不过,在选择器中转义字符是有时间和地点的。下面是一个您何时可以逃脱的示例:

$("input[name=\"foo\"]"); // Little more sensible
注意,双引号中包含双引号。我们必须区分内部的和外部的,这样我们就不会过早地终止字符串

更好的解决方案是错开双引号/单引号。如果外部使用双引号,内部使用单引号:

$("input[name='foo']"); // Much easier on the eyes

是否可能在创建输入元素之前运行datepicker()代码?

正如其他人所指出的,您的代码应该可以工作


一个可能导致问题的常见问题是,您有多个具有相同ID的HTML元素(
ID=“start”
)。

我一直想知道这些小斜线是用来做什么的。为什么要转义引号?你试过不用它吗?实际上,您有一个语法错误。您有一个javascript问题,甚至没有检查控制台是否有错误?我不知道该说什么…学习JavaScript;然后学习jQuery——
php
从何而来,你在重复你的脚本吗?“撇号”的意思是
,你不是说反斜杠吗?我在使用Chrome的内置工具,但后来去Firefox使用Firebug。我不熟悉它在调试javascript问题中的用法。听起来不错,我将观看一些视频,了解如何做。我不认为它会有什么帮助,考虑到我让它在纯HTML中工作。这似乎是PHP的一个问题,我怀疑firebug是否会有所帮助。确实如此,但我不相信这会导致某些东西无法正常工作,因为我以前使用过jquery和javascript。@KingTouchstone事实并非如此,因为您将jquery逻辑包装在
$(function(){/*…*/})中我知道逃跑的问题,但我发现我问问题的方法是错误的。我新编辑的问题更好地表达了我的代码。上面的评论描述了我试图用HTML编写正确的代码,但却没有成功。我已经从jquery的网站上逐字复制了代码,但无法正常工作。
$("input[name=\"foo\"]"); // Little more sensible
$("input[name='foo']"); // Much easier on the eyes