为什么我无法获得特定范围的ID属性?

时间:2016-05-04 16:28:16

标签: javascript jquery html

我有一个简单的jQuery代码,应该获取所选ID的{​​{1}}属性。但是它没有用。

我尝试获取包含span的div的ID个数字,它正在运行。我无法解决错误。

span

请注意,我通过$("span.colorbox").on("click",function(){ var secilirenk = $(this).attr("id"); }); 函数输出此HTML

on("click",function()

输出:     

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;");
});

<div class="1" style="display:block; float:left;"><span class="colorbox" id="#123456" style="margin-top: 100px;display: inline-block;border: 1px solid gray;background-color: rgb(18, 52, 86);"></span><p style="display:inline-block; margin-right:15px;">asd</p></div> 当我点击它时,我希望得到其他点击功能动态创建的范围的Tl;dr:属性。

3 个答案:

答案 0 :(得分:1)

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

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

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

或者考虑使用CSS.escape

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

答案 1 :(得分:0)

在生成动态内容时,CLICK上的传统内容将无效,因为它适用于DOM中的任何内容。

试试这个:

$(document).on("click","span.colorbox",function(){
      var secilirenk = $(this).attr("id");
      console.log(secilirenk);
});

答案 2 :(得分:0)

你有几个问题: 1-您没有关闭span标记 2-你需要使用委托 3-将它们放入文件准备好

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

这有效:https://jsfiddle.net/9bowx36r/