2012-12-25 70 views
1

我试着写代码是这样的:jQuery的数据和对象

$('[id^=myitem_]').data(
    'powq', 
    $([ 
     '<p><b>Description:</b></br>'+$(this).find("input[name=description]").val()+'</p>', 
     '<p>Some other data:</p>' 
    ].join('')) 
); 

正如你可以看到里面的“价值”我要赶内[id^=myitem_]对象,但我不能。在这种情况下,每次我在整个文档中获得第一个对象。我认为在这里,'价值',$(this)意味着窗口或整个文件。

任何想法..?

回答

4

this引用的内容取决于执行该代码的上下文。尽管如此,它很可能是指window

如果你希望它是指每个[id^=myitem_]元素,那么你必须使用.each[docs]遍历所有选定的元素:

$('[id^=myitem_]').each(function() { 

    $(this).data(
     'powq', 
     $([ 
      '<p><b>Description:</b></br>'+$(this).find("input[name=description]").val()+'</p>', 
      '<p>Some other data:</p>' 
     ].join('')) 
    ); 
}); 
0

要访问的div元素的ID myitem

$("#myitem") 

我可能已经完全虽然误解了你的问题。