jquery 的新手。以选择器开头会破坏代码。怎么了?

New to jquery. Starts with selector breaks the code. what's is wrong?

感谢您的帮助。我正在尝试使用 jQuery 选择器来观察对一组以特定字符开头的元素的点击。我想出了以下代码,但我一定遗漏了一些东西。如果我硬编码 ID(即 $("#test_1")...),代码有效:

<body>
<div id="content">
    <div id="parentcontainer">
        <div id="test_1"></div>
    </div>
</div>
</body>

<script>
    $(window).load(function(){
        $("#statusbar").text("Ready");
        $("#parentcontainer").click(function(){alert("parent clicked");});
        $("#btnaddelement").click(function(){alert("Add Button Clicked");});
        $("[name^='test_']").click(function(e){e.stopPropagation();
        alert("Child Clicked");});
    });
</script>

您正在 select$("[name^='test_']"),这将为您提供具有 name 属性且以 test_ 开头的元素。对于 idtest_ 开头的元素,您需要在 $("[id^='test_']") 上 select。这是您通过 $('#test_1') 的硬编码成功获得的一个示例——一个 id 属性为 test_1.

的元素

此外,如果您还不知道 xpath 是 selectors 使用的语言,请注意,如果您熟悉它,您可以做各种令人难以置信的 selection。

是的,你错过了一些东西。将 div 的属性 id 更改为 name 即可

<div name="test_1"></div>

实际上,class的使用频率更高。

并且有意见我想改进代码。

尝试使用 jquery 的 $(document).ready 而不是 DOM 的 load。因为load会等所有源加载完成后才能执行js代码,比如图片都下载好了

希望对您有所帮助!