jQuery:将div ID应用于.load ID

时间:2012-02-18 01:51:34

标签: jquery

请不要因为我在该领域缺乏知识。我正在尝试创建一个脚本,该脚本将以第一个孩子为目标,获取其ID,并将其应用于将加载+ _description的div的名称。

我有大约100种产品,为每种产品添加一行代码没有多大帮助。

例如。 试图使其自动化:

<div class='descr'>
<div id='productName'>
<div id='productName_description>This is what needs to be inserted</div>
</div>
</div>



$('#productName').load('https://www.website.com/page.html #productName_description');

我得到了:

$('descr:first-child').load('https://www.website.com/page.html ??????');

我无法弄清楚如何抽象'descr:first-child的ID并将其应用'+ _description'到负载调用的div。

提前致谢。

3 个答案:

答案 0 :(得分:1)

你应该向我们提供更多的代码/信息,但是根据我的理解,尝试类似的东西:

// Javascript (document.ready)

$('.descr').each(function(){
  var productContainer=$(this).children().attr('id')+'_description';
  $('#'+productContainer).load('https://www.website.com/page.html #'+productContainer);

});

关于您的更新的修改

尝试以下方法:

var productContainer=$('.descr:first-child').attr('id')+'_description';
$('#'+productContainer).load('https://www.website.com/page.html #'+productContainer);

答案 1 :(得分:-1)

据我了解你的问题,你想要这个:

$('#productName_description').load('https://www.website.com/page.html ??????');

也是你的行:

<div id='productName_description>

应该在id:

的末尾加'
<div id='productName_description'>

答案 2 :(得分:-1)

根据我的理解,我认为这可能会解决您的问题。

让我们说下面列出的100种产品:

<div class='descr'>
    <div id='ipod'>
        iPod
    </div>
    <div id='iphone'>
        iPhone
    </div>
    <div id='ipad'>
        iPad
    </div>
</div>​

你点击了一些ajax url,它会返回一些结果(HTML)并根据你的productname从中提取DOM片段(productname_description)并将其加载到你的产品div中。

$(function () {
    $('div.descr').children().each (function () {
    var productDescriptionDOM = '#' + $(this).attr('id') + '_description';
       $(this).load('http://jsfiddle.net/echo/html/ '+productDescriptionDOM);
    });    
});​

演示:http://jsfiddle.net/vBxWs/

请注意,该演示版不会加载产品&#39;描述,因为请求不会返回任何响应。不能在演示中使用跨域url,因为它不受支持。