2013-05-08 105 views
0

我试图做一个动态的iframe,基于用户点击的图片来改变它的内容页面。Jquery class click this'

到目前为止,我已经创建了图片并存储在“标题”属性中与新屏幕相关的元素。我的代码到目前为止:

$(document).ready(function() { 

    $('.item').click(function() { 
     var title = $(this).title; 
     var url = 'http://wiki.mainpart.com/' + encodeURIComponent(title) 

     $('#innerdiv').attr('src', url);   

     console.log(url); 
    }); 
}); 

但是,此代码不起作用。该URL永远没有附加标题,控制台日志只显示url的主要部分。有人可以建议一种方法,我可以得到这个工作?

+0

其他答案可以归结为,只有少数特殊属性可以作为元素的属性直接访问。 “标题”似乎不是其中之一。因此,在使用jQuery或仅使用JavaScript时,需要'elem.attr('title')''elem.getAttribute('title')'。 – 2013-05-08 20:21:13

+0

真正的问题是jQuery对象没有与DOM节点相同的属性。如果标题是当前元素可用的属性(对于图像,至少在chrome中),您可以直接在'this'上用'this.title'访问它 – 2013-05-08 20:24:32

回答

1
 var title = $(this).attr('title'); 

会得到你的title属性。

2

试试这个 -

$('.item').click(function() { 
     var title = $(this).attr('title'); // <-- see change in this line 
     var url = 'http://wiki.mainpart.com/' + encodeURIComponent(title) 

     $('#innerdiv').attr('src', url);   

     console.log(url); 
});