Javascript 为什么没有被处决?
Html包含带有文本示例的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
元素
脚本包含
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>");