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

发布于 2024-09-30 02:35:19 字数 868 浏览 2 评论 0原文

我想知道,我们能否在选择器内给出一个变量而不是 #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>

这是上述代码的小提琴链接

关于我做错的地方的任何建议!!!!

谢谢!

I want to know that, can we able to give a variable instead of #anyId inside a selector.

Actually i am trying this code,

<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>

This is the fiddle link for the above code.

Any suggestions about where i am doing it wrong!!!!

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

緦唸λ蓇 2024-10-07 02:35:19

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

如果您对 jquery 的使用感到困惑,jquery api 文档非常有用。

http://api.jquery.com/jQuery/

Yes you can use a variable, assuming it contains a string that is a valid jquery selector, or a reference to a DOM element, or a reference to another jquery object.

The jquery api documentation is excellent if you're getting stuck with jquery usage.

http://api.jquery.com/jQuery/

欢烬 2024-10-07 02:35:19

我相信你的问题只是一个错字。您有 ID 为 #aDiv123#abcd1234 的元素,但尝试删除 #aDiv1234。纠正这个,它就会起作用。

I believe your problem is just a typo. You have elements with IDs #aDiv123 and #abcd1234, but trying to remove #aDiv1234. Correct this and it will work.

流年已逝 2024-10-07 02:35:19

问题是你的 Div 与段落的编号不同,它应该是:

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

而不是:aDiv123

The problem is that your Div has a different number from the paragraph, it should be:

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

Not: aDiv123

菩提树下叶撕阳。 2024-10-07 02:35:19

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

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

The $ JQuery function only takes a string for parameter, so you can build your own selector passing by some variables.

var sel = tag + ':visible';
$(sel) -> all visible "tags"
椒妓 2024-10-07 02:35:19

如果你想对包含该段落的 div 进行操作,为什么不这样做:

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

... 或 ...

$('p').live('click', function() {
  $(this).parents('.discriminator').remove();
});

If you want to do an operation on the div which contains the paragraph, why not instead do:

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

... or ...

$('p').live('click', function() {
  $(this).parents('.discriminator').remove();
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文