下面的代碼進行測試,並在Firefox上您的網站,(通過控制檯):
(function(global)
{
var $ = global.jQuery;
$(function()
{
var $TargetForm = $('div.add_buzz_item form').eq(0),
/*
* EXTREME inefficiencies on the next 4 lines due to lack of specificity in your markup
*/
$TitleInput = $TargetForm.find('div:contains("Title:")').next().find('input'),
$ImageInput = $TargetForm.find('div:contains("Image:")').next().find('input'),
$LinkInput = $TargetForm.find('div:contains("Link:")').next().find('input'),
$DescriptionInput = $TargetForm.find('div:contains("Description:")').next().find('textarea');
$('div.site_buzz_scroll').delegate('div.buzz_block', 'click', function()
{
var $BuzzItem = $(this);
$TitleInput.val($BuzzItem.find('div.buzz_title').html());
$ImageInput.val($BuzzItem.find('div.buzz_icon img').attr('src'));
$LinkInput.val($BuzzItem.find('div.buzz_link').html());
$DescriptionInput.val($BuzzItem.find('div.buzz_desc').html());
});
});
}(window));
你會做你自己一個大忙,如果你在最起碼,唯一命名的表單字段,以便他們可以更容易地找到並定位。代碼會更小並且運行效率更高。也就是說,我儘可能高效地完成了這項工作。我使用.delegate()
,以便您可以將「buzz_blocks」動態添加到DOM,而無需重新綁定它們。