我有一个简单的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:
属性。
答案 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);
});