Javascript 有没有办法使用JS变量作为输入而不是jquery选择器#id";?

Javascript 有没有办法使用JS变量作为输入而不是jquery选择器#id";?,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,我想知道,我们是否能够在选择器中指定一个变量而不是#anyId 实际上我正在尝试这个代码 <html> <head> <script src="http://code.jquery.com/jquery-latest.min.js"></script> </head> <body> <div id="aDiv123"> <p id="abcd1234" class="abcd123">Clic

我想知道,我们是否能够在选择器中指定一个变量而不是
#anyId

实际上我正在尝试这个代码

<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.min.js"></script>
</head>
<body>
<div id="aDiv123">
  <p id="abcd1234" class="abcd123">Click me!</p>
</div>

<script>
    $("p").live("click", function() {
        $(this).after("<p id='abcd123' class='abcd2323'>Another paragraph!</p>");
        var number = this.id.match(/^abcd(\d+)$/)[1];
        var iD = this.id;
        alert(number);
        alert(iD);
        var div = "#"+"aDiv"+number;
        alert(div)
        $(div).remove();
    });
</script>

</body>
</html>

点击我

$(“p”).live(“单击”,函数(){ $(这个)。在(“

另一段!

”)之后; var number=this.id.match(/^abcd(\d+)$/)[1]; var iD=this.iD; 警报(编号); 警报(iD); var div=“#”+“aDiv”+编号; 警讯(分区) $(div.remove(); });
这是上述代码的最新版本

任何关于我做错了什么的建议


谢谢

是的,您可以使用一个变量,假设它包含一个有效的jquery选择器字符串,或对DOM元素的引用,或对另一个jquery对象的引用

如果您被jquery的使用所困扰,那么jQueryAPI文档是非常优秀的


$JQuery函数只接受一个字符串作为参数,因此您可以通过一些变量构建自己的选择器

var sel = tag + ':visible';
$(sel) -> all visible "tags"

我相信你的问题只是打字错误。您有ID为
#aDiv123
#abcd1234
的元素,但试图删除
#aDiv1234
。更正此项,它将起作用。

问题是您的Div与段落中的数字不同,应该是:

<div id="aDiv1234">
<p id="abcd1234">


不:aDiv123

如果要对包含段落的div执行操作,为什么不改为执行以下操作:

$('p').live('click', function() {
  $(this).parent().remove();
});
。。。或者

$('p').live('click', function() {
  $(this).parents('.discriminator').remove();
});
是的,它使用的是“p”元素ID。您能解释一下为什么我不能为包含???#$!:*#。。。我疯了。这也是可行的。裸露我……:)