为了账号安全,请及时绑定邮箱和手机立即绑定

这样是不是找不到img这个标签?

function (){
			var strHTML = "";
			for (var i = 0; i <= 42; i++) {
			strHTML += "<img src='img/xx/"+i+".gif' id='"+i+"img'>";
			}
			$("#bqlb").html(strHTML);
	};
	//选择表情图标后隐藏表情列表
	$("img").click(function(){
		$("#shuruwb").html($("#shuruwb").val()+"<:"+$(this).attr("id")+":>");
		$("#bqlb").hide();
	});
//代码太多没用办法都张贴上来
//先是循环出所有的图片然后写入一个div
//然后想在这个div里面的图片通过点击获得图片所对应的ID
//#shuruwb 是一个输入文本框的ID
//#bqlb 是个用了存放图片的DIV的ID


正在回答

2 回答

首先你的匿名函数并没有立即调用,不会执行你函数里的代码,不会在$("#bqlb")里面生成43张图片;第二,id或者class最好以英文字母开头,不要以数字或其他字符,css或js可能会出错;第三,你的图片是动态添加的,$("img").click(function(){...code});一上来就被执行了,并没有选择到你以后动态生成的元素,最好是用事件委托,实在想用这样的写法,可以把这段代码放到$("#bqlb").html(strHTML);后面,也能实现同样的效果。

0 回复 有任何疑惑可以回复我~
#1

kim4 提问者

首先非常感谢给予了一些思路 这个问题困扰了好久,可能是上的代码不全所以没有说明问题 留言可能没法传完这些代码 其实是下面这段回复这样写的 我把代码委托进入了一个鼠标移入的事件当中去生成这个表情列表 可以出现图片 当无法实现找到图片的ID或者是说根本就找不到img这个元素
2015-12-20 回复 有任何疑惑可以回复我~
#2

kim4 提问者

意思是说我要吧,按键的这个事件和载入的事件分开放在$(function(){})的外面来执行才行吗?
2015-12-20 回复 有任何疑惑可以回复我~
#3

kim4 提问者

非常感谢,你的思路和解说.看了好久也想了好久,终于看明白你的意思了,其实是代码合为一个这样才能找到对应的元素,否则代码执行完毕后就找不到对应的元素啦!
2015-12-20 回复 有任何疑惑可以回复我~
$(function(){	
	//鼠标移入显示文字颜色及显示表情版面
	$("#bq").mouseover(function() {
		$("#bq").css("color","red");
		$("#bqlb").show(liebiao);
		});
	//鼠标移出显示文字颜色
	$("#bq").mouseout(function(){
		$("#bq").css("color","#e74c3c");
	});
	//表情图标循环生成
	function liebiao(){
			var strHTML = "";
			for (var i = 0; i <= 42; i++) {
			strHTML += "<img src='img/xx/"+i+".gif' id='"+i+"img'>";
			}
			$("#bqlb").html(strHTML);
	};
	//选择表情图标后隐藏表情列表
	$("img").click(function(){
		$("#shuruwb").html($("#shuruwb").val()+"<:"+$(this).attr("id")+":>");
		$("#bqlb").hide();
	});
})	

http://img1.sycdn.imooc.com//56758e1b00017e6d09100332.jpg

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
jQuery基础课程
  • 参与学习       154768    人
  • 解答问题       7184    个

加入课程学习,有效提高前端开发速度

进入课程

这样是不是找不到img这个标签?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信