我在#
或live()
回调中on()
选择了问题。
$(document).on('click',".dfield_span_after", function(event) {
var in_id = $(this).attr('data-in_id');
var field = $('#'+in_id) // this line
field.show();
}
field.show()
根本不起作用,但选择如下:
var field = $('[id='+in_id+']')
工作正常。
这是一个jQuery问题(使用了几个版本)还是我做错了什么?
更新: 如果它可能有所帮助,这种情况在这种情况下不起作用。我有一个页面,其中包含一些像代码中所示的交互元素。这个代码在我点击链接之前工作正常,它通过AJAX生成一些元素并在弹出窗口中显示。弹出窗口中的元素工作不好,页面的其余部分仍然很好。
由于
答案 0 :(得分:2)
如果[id=theid]
有效且#theid
没有,则通常意味着您的网页上有重复的ID。 ID必须是唯一的。
编辑:
所以,如果你这样做:
$(document).on('click',".dfield_span_after", function(event) {
var in_id = $(this).attr('data-in_id');
var field = $('#'+in_id) // this line
field.show();
alert(field.length);
alert($("[id="+in_id+"]").length);
}
您收到1
的两个提醒?