从外部页面上的元素加载属性

时间:2012-07-04 22:41:00

标签: javascript ajax attributes load element

我的页面有一个链接列表,每个链接都使用ajax加载新页面。这些新页面包含图像库和主图像。    我的目标是从主图像中获取source-url,以在链接页面上的相应链接上显示为缩略图。

我不知道如何解决这个问题。如果有人能指出我正确的方向并且可能会给我一些代码,我会很感激。

2 个答案:

答案 0 :(得分:0)

您可以使用jQuery.get加载外部页面。

$.get('my_external_page.html', function(data) {
  // data is the pages contents.
});

然后将其推入div

$.get('my_external_page.html', function(data) {
  // data is the pages contents.
  var haystack = $('<div>').html(data);
  var needle = haystack.find('.image-we-want');

  var imageSrc = needle.attr('src');
});

这是一个开始。当然,它假设您可以使用jquery,并且您要搜索的元素具有类或ID。

答案 1 :(得分:0)

搞定了。可能不是最聪明的方法,但它确实有效。

我有一个充满链接()的页面。我在被叫底部也有一个空div。    代码将图标加载到这些链接。链接指向包含多个图像的新页面。图标是页面标准图像的缩小版本。

function iconPicHandler(){  
   var aTags = $('#linkpage a');
   for(var i = 0;  i < aTags.length; i++){
      $('#invisible').load('page3.html #standardImage',function(aLink){
         return function(){
            $('<img src="'+ $('#standardImage').attr("href") +'" />')
            .prependTo(aLink);
         }
      }
    ($(atags[i])));             
    }
    $('#invisible').hide();
}

所以我做的第一件事就是获取链接页面中的所有链接。我将其余的代码放入for循环中,因此我可以对所有链接执行相同的操作。    然后我从page3.html加载“#standardImage”到“#invisible”。 #standardImage“是一个空div,包含一个缩小版本的page3的standardImage的url。该url被保存为div的href属性。    然后是棘手的部分。我不确定我在这里做了什么。但作为一个回调函数,我创建了一个函数,它接受一个参数,在末尾指定($(atags [i]))。然后该函数返回一个新函数!这使我能够访问atags(链接)和新加载的$('#standardImage')。    在函数内部,我从$('#standardImage')中提取href,并将其用作src,用于链接前面的图像。    最后,在for循环之外,我隐藏了$('#visisible')。

如前所述,这不是一种非常聪明的方法,但它可以完成工作。谁知道,也许它可以帮助下一个初学者走路,谁碰巧遇到类似的问题。