Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.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/2/jquery/79.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变量作为id传递到jquery函数中_Javascript_Jquery - Fatal编程技术网

将javascript变量作为id传递到jquery函数中

将javascript变量作为id传递到jquery函数中,javascript,jquery,Javascript,Jquery,我需要在下面的代码中传递new_sub_id变量,但它似乎不起作用: var original_sub_id = $j(element).attr('id'); e.g sub:777 var new_sub_id = original_sub_id.split(":"); new_sub_id = new_sub_id.join("\\\\:"); e.g sub\\:777 欢迎提出任何建议 $j("#"+new_sub_id + "ins:eq(1)").attr("class",

我需要在下面的代码中传递
new_sub_id
变量,但它似乎不起作用:

 var original_sub_id = $j(element).attr('id'); e.g sub:777
 var new_sub_id = original_sub_id.split(":");
 new_sub_id = new_sub_id.join("\\\\:"); e.g sub\\:777
欢迎提出任何建议

$j("#"+new_sub_id + "ins:eq(1)").attr("class","jstree-icon2"); // set class to display new icon
不要忘记ins:eq(1)


还要确保此元素存在:
$j(“#”+新的子id+“ins:eq(1)”)

我感觉这是因为您的id中的:


:在jquery中,选择器倾向于使用伪选择器,如
:checked、:selected、:focus
,因为您已经有了对
li
的引用,所以可以将其作为选择器的上下文传递


$j(“ins:eq(1)”,element).attr(“class”,“jstree-icon2”)

你能澄清你所说的“我需要更改特定标签的类别”是什么意思吗?我需要更改特定
  • 标签的标签类别。你需要在
    新子标签
    和“ins:eq(1)”之间留出一个空格,它仍然不起作用,即使我把空间放在ins之前。如果我把:$j(“#sub\\\:7428 ins:eq(1)”).attr(“class”,“jstree-icon2”);它工作正常。这就是为什么他们要用\\这些id从DB中逃逸的原因?你需要用它们发回吗?您可能会做一些奇特的字符串替换,并将:替换为a-,然后在需要将其发送到服务器时将其交换回。在看不到更多代码的情况下,很难确切地说如何修复它。是的,这些ID来自数据库,我需要将它们发回。我用其他字符替换冒号并将其存储在var中,然后在将其保存到数据库时将其交换回。谢谢你的建议:)
    $j("#"+new_sub_id + "ins:eq(1)").attr("class","jstree-icon2"); // set class to display new icon
    
    $j("#"+new_sub_id + " ins:eq(1)").attr("class","jstree-icon2"); // set class to display new icon