请教:jQuery中这里的$(this)是指那个对象? 本帖最后由 idragonet 于 2010-05-19 11:16:03 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 this当前的操作对象你可以这样来找到操作的是哪个标签 alert("this的id为"+$(this).attr("id")); 我试过了 alert提示“undefined” function divPanelShow(divPanel) { $("#" + divPanel).slideToggle(200); var $this = "#"+divPanel; var img_name = $($this).attr("title"); alert(img_name); //alert显示空白 if (img_name == "images/expand_blue.jpg") { $($this).attr("src", "images/collapse_blue.jpg"); $($this).attr("title", "点击显示详细信息"); } else { $($this).attr("src", "images/expand_blue.jpg"); $($this).attr("title", "点击隐藏详细信息"); }}你的value没有设置,所以默认的情况下为空,再说你当时的this不知道是谁 请问有什么最优雅简单的方式 获得对象img id="Panel2img",也就是onclick所属的图片。 $(function(){ $("#Panel2img").click(function(){ $(this).slideToggle(200); var img_name1 = $(this).val(); alert(img_name1);; //这一行是不能用的因为你的标签中没有value属性 var img_name = $(this).attr("title"); alert(img_name); //alert显示空白 if (img_name == "images/expand_blue.jpg") { $(this).attr("src", "images/collapse_blue.jpg"); $(this).attr("title", "点击显示详细信息"); } else { $(this).attr("src", "images/expand_blue.jpg"); $(this).attr("title", "点击隐藏详细信息"); } });});这才是jquery的写法 我是个粗人,只知道完成代码,很少去管“优雅”的事<img id="Panel2img" alt="" onclick="divPanelShow('divPanel2',this);" title="点击隐藏详细信息" class="IMG_Panel" src="images/expand_blue.jpg" />//隐藏和显示表格内容function divPanelShow(divPanel,obj) { $("#" + divPanel).slideToggle(200); var img_name = obj.value; alert(img_name); //alert显示空白 if (img_name == "images/expand_blue.jpg") { $(obj).attr("src", "images/collapse_blue.jpg"); $(obj).attr("title", "点击显示详细信息"); } else { $(obj).attr("src", "images/expand_blue.jpg"); $(obj).attr("title", "点击隐藏详细信息"); }} 楼主你要明白取标签属性的时候这个属性有没有值,怎么去取?这个img标签根本没有html的内容你取的话肯定为null啊,有属性不错,但是你 没有设置值,那么取出的不是null就是“” 你就是要切换两个图片,没必要写成这样的。<img id="Panel2img" alt="" onclick="divPanelShow($(this),'info');" title="点击显示详细信息" class="IMG_Panel" src="images/collapse_blue.jpg" /><img id="Panel2img" alt="" onclick="divPanelShow($(this).perv(),'pic');" title="点击隐藏详细信息" class="IMG_Panel" src="images/expand_blue.jpg" style="display:none" />function divPanelShow(e,mytype){ if(mytype=="info") { e.hide(); e.next().show(); }else{ e.show(); e.next().hide(); } } 谢谢这位热心回答。最后改成这样了。//隐藏和显示表格内容function divPanelShow(e,divPanel) { $("#" + divPanel).slideToggle(200); var img_name = e.attr("src"); if (img_name == "images/expand_blue.jpg") { e.attr("src", "images/collapse_blue.jpg"); e.attr("title", "点击显示详细信息"); } else { e.attr("src", "images/expand_blue.jpg"); e.attr("title", "点击隐藏详细信息"); }} <img id="Panel2img" alt="" onclick="JavaScript:divPanelShow($(this),'divPanel2');" title="点击隐藏详细信息" class="IMG_Panel" src="images/expand_blue.jpg" /> ajax无法获取回调值 buffer.readUInt32BE 的问题 关于图片无缝滚动抖动问题 IE9下Javascript第一次不执行,刷新后才执行 ext-all.js问题 请问为什么我的这个下拉条这么闪? 在一文本框中输入代码,然后在文本框后及时出现代码对应的值? 中文文件名URL在Tomcat5.0.28下无法正常下载 抢分了,呵呵!!! javascript创建的object需不需要释放,怎么释放? 请问jquery怎样验证让两个表单至少填一个呢? JS操作问题
我试过了 alert提示“undefined”
function divPanelShow(divPanel) {
$("#" + divPanel).slideToggle(200);
var $this = "#"+divPanel;
var img_name = $($this).attr("title");
alert(img_name); //alert显示空白
if (img_name == "images/expand_blue.jpg") {
$($this).attr("src", "images/collapse_blue.jpg");
$($this).attr("title", "点击显示详细信息");
}
else {
$($this).attr("src", "images/expand_blue.jpg");
$($this).attr("title", "点击隐藏详细信息");
}
}你的value没有设置,所以默认的情况下为空,再说你当时的this不知道是谁
请问有什么最优雅简单的方式 获得对象img id="Panel2img",也就是onclick所属的图片。
$(function(){
$("#Panel2img").click(function(){
$(this).slideToggle(200);
var img_name1 = $(this).val(); alert(img_name1);; //这一行是不能用的因为你的标签中没有value属性
var img_name = $(this).attr("title");
alert(img_name); //alert显示空白
if (img_name == "images/expand_blue.jpg") {
$(this).attr("src", "images/collapse_blue.jpg");
$(this).attr("title", "点击显示详细信息");
}
else {
$(this).attr("src", "images/expand_blue.jpg");
$(this).attr("title", "点击隐藏详细信息");
} });
});
这才是jquery的写法
//隐藏和显示表格内容
function divPanelShow(divPanel,obj) {
$("#" + divPanel).slideToggle(200);
var img_name = obj.value;
alert(img_name); //alert显示空白
if (img_name == "images/expand_blue.jpg") {
$(obj).attr("src", "images/collapse_blue.jpg");
$(obj).attr("title", "点击显示详细信息");
}
else {
$(obj).attr("src", "images/expand_blue.jpg");
$(obj).attr("title", "点击隐藏详细信息");
}
}
<img id="Panel2img" alt="" onclick="divPanelShow($(this).perv(),'pic');" title="点击隐藏详细信息" class="IMG_Panel" src="images/expand_blue.jpg" style="display:none" />function divPanelShow(e,mytype)
{
if(mytype=="info")
{
e.hide();
e.next().show();
}else{
e.show();
e.next().hide();
}
}
//隐藏和显示表格内容
function divPanelShow(e,divPanel) {
$("#" + divPanel).slideToggle(200); var img_name = e.attr("src"); if (img_name == "images/expand_blue.jpg") {
e.attr("src", "images/collapse_blue.jpg");
e.attr("title", "点击显示详细信息");
}
else {
e.attr("src", "images/expand_blue.jpg");
e.attr("title", "点击隐藏详细信息");
}
}
<img id="Panel2img" alt="" onclick="JavaScript:divPanelShow($(this),'divPanel2');" title="点击隐藏详细信息" class="IMG_Panel" src="images/expand_blue.jpg" />