Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/40.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,Html包含带有文本示例的元素 脚本包含 var aVar = 'Sample'; if ( $( "p:contains(aVar)" ) ) { console.log("-------start--------") if(true){ console.log("from here..............") console.log("aVar="+aVar) $( "p:contains(aVar)" ).afte

Html包含带有文本示例的
元素

脚本包含

var aVar = 'Sample';

if ( $( "p:contains(aVar)" ) ) {

    console.log("-------start--------")

    if(true){

        console.log("from here..............")
        console.log("aVar="+aVar)
        $( "p:contains(aVar)" ).after(<p>12345</p>); //was not executed

    }
}
为什么没有执行?

您有一些输入错误

var aVar = 'Sample';

if ( $( "p:contains(" + aVar + ")" ) ) {
    console.log("-------start--------")
    if(true){

        console.log("from here..............")
        console.log("aVar=" + aVar)
        $( "p:contains("+aVar+")" ).after("<p>12345</p>"); //was not executed

    }
}
var aVar='Sample';
如果($(“p:contains(“+aVar+”))){
console.log(“----开始----”)
如果(真){
console.log(“从这里开始……”)
console.log(“aVar=“+aVar”)
$(“p:contains(“+aVar+”))。在(“12345

”)之后;//未执行 } }

变化

$( "p:contains(aVar)" ).after(<p>12345</p>); //was not executed
$()//没有被执行

$(“p:contains(+aVar+))。在(“12345

”)之后;
具体地说,您在参数
after()
上缺少一个open/close引号

(在其他地方,您可以尝试从字符串内部使用变量。这些地方也必须固定。)


正如所指出的,您还可以使用:

$(`p:contains(${aVar})`);

这在IE和Android等旧浏览器中不可用。

$(“p:contains(aVar)”)-您不能以这种方式访问元素
aVar
是一个变量,因此您的jQuery选择应该是浓缩的,以免被解释为文字字符串“aVar”。此外,
:contains()
方法要求引用搜索词。给出
$(“p:contains(“+aVar+”)”)
。注意
if($((“p:contains(aVar)”))
总是正确的,不管元素是否存在。如果你想,它是
if($(“p:contains(aVar)”).length)
。那么
p:contains(${aVar})呢
在反勾号之间?但是Javascript现在可以,ES6也得到了很好的支持。
var foo=“bar”;console.log(
这是foo${foo}
在所有浏览器中都能工作(字符串周围的反勾号…不知道如何在注释中实现)@xShirase“大多数浏览器的最新版本”与“所有浏览器”不同但是,是的,如果你可以忽略IE和Android,那就行了。很确定
aVar
是一个变量。考虑更新你的答案来反映这一点。代码> $[(p:包含(‘+’+ avar +’)”)/<代码>。你也应该解释一下你的代码是如何以及为什么你的代码解决了OP的问题。很好的是,你已经包含了一个演示,并且你的解决方案显然是有效的,但是你应该考虑一下你的答案,包括一些关于你的解决方案为什么工作的信息。“你有一些打字错误。“这对未来有类似问题的游客来说不是特别有帮助。
$( "p:contains(aVar)" ).after(<p>12345</p>); //was not executed
$( "p:contains("+aVar+")" ).after('<p>12345</p>');
$( "p:contains(aVar)" ).after(<p>12345</p>)
$( "p:contains("+aVar+")" ).after("<p>12345</p>");
$( `p:contains(${aVar})` ).after("<p>12345</p>");