Javascript 为什么可以';我不能获取特定跨度的ID属性吗?

Javascript 为什么可以';我不能获取特定跨度的ID属性吗?,javascript,jquery,html,Javascript,Jquery,Html,我有一个简单的jQuery代码,它应该获取所选span的ID属性。但是它不起作用 我试图获取包含我的span的div的ID号,它正在工作。我不知道怎么了 $("span.colorbox").on("click",function(){ var secilirenk = $(this).attr("id"); }); 注意,我是通过一个打开(“click”,function()函数)输出这个HTML var count = 1; $(".kaydet").on("click"

我有一个简单的
jQuery
代码,它应该获取所选
span
ID
属性。但是它不起作用

我试图获取包含我的
span
的div的
ID
号,它正在工作。我不知道怎么了

$("span.colorbox").on("click",function(){
        var secilirenk = $(this).attr("id");
});
注意,我是通过一个
打开(“click”,function()
函数)输出这个
HTML

var count = 1;

$(".kaydet").on("click",function(){

$(".bolgeler").append("<div class='" + count +"' style='display:block; float:left;'></div>");

$("."+count).append("<span class='colorbox' id='' style='display:inline-block; border: 1px solid gray;'>");

var kuturengi = $("#color").val();
$("."+count).find(".colorbox").css("background-color",kuturengi);
$("."+count).find(".colorbox").attr("id",kuturengi);

    var bolgeadi = $("#bismi").val();
$("."+count).append("<p style='display:inline-block; margin-right:15px;'>" + bolgeadi + "</p>");    
count++;   

    $('#bolgeolustur').attr("style","display:inline-block;");
    $('#bolge').attr("style","display:none;");
});
var计数=1;
$(“.kaydet”)。在(“单击”,函数(){
$(“.bolgeler”)。追加(“”);
$(“+”计数)。追加(“”);
var kuturengi=$(“#颜色”).val();
$(“+count).find(“.colorbox”).css(“背景色”,kuturengi);
$(“+count).find(“.colorbox”).attr(“id”,kuturengi);
var bolgedi=$(“#bismi”).val();
$(“+count).append(“

输出:

asd

Tl;dr:
我想获取span的
ID
属性,该属性在我单击时由其他单击函数动态创建。

var count=1;$(“+count)
不是有效的CSS选择器

在CSS中,标识符不能以数字开头,但可以转义:

$(".1") // wrong
$(".\\31 ") // ok
$(".\\000031") // ok

或考虑使用<代码> CSS.Heave >:

$("." + CSS.escape(count)) // ok

在生成动态内容时,传统的单击按钮将不起作用,因为它适用于DOM中已有的任何内容

请尝试以下方法:

$(document).on("click","span.colorbox",function(){
      var secilirenk = $(this).attr("id");
      console.log(secilirenk);
});
您有几个问题: 1-您没有关闭span标签 2-您需要使用委托 3-将其放入文件准备就绪

$("body").delegate("span.colorbox","click",function(){
        var secilirenk = $(this).attr("id");
        alert(secilirenk);
});

这是有效的:

你怎么知道它不起作用呢?那“span.colorbox”的“click”处理程序没有任何作用。
$(This.attr(“id”)
的意义是什么?只需使用
This.id
prop
将比
attr
更好。为您共享htmlthis@Pointy我安慰你,记录下来。
$("body").delegate("span.colorbox","click",function(){
        var secilirenk = $(this).attr("id");
        alert(secilirenk);
});