使用prev()和parent()打开jquery对话框

时间:2011-09-04 11:52:22

标签: jquery dialog parent

我有一个对话框列表,当我点击了相关图标但没有为每个对话框写一个.click()函数时,我想打开这些对话框。目前我的html看起来像这样。

<ul>

<li>
    <img src="e_gift_ss/design_2_1.jpg" alt="Screenshot 1"/> 
    <img src="e_gift_ss/design_2_2.jpg" alt="Screenshot 2"/> 
    <img src="e_gift_ss/design_2_3.jpg" alt="Screenshot 3"/> 
    <img src="e_gift_ss/logo_designs.jpg" alt="Screenshot 4"/> 
</li>

    <li class="portfolio_link"><img src="link_img/e_gift.png" alt="e-Gift Voucher" class="icon png" id="e_gift_link"/></li>

    <li>
      <article>
        <h4>Acer E-Gift Voucher</h4>
        <p>Designed as a web portal for a after sale marketing promotion.</p>
      </article>
    </li>

  </ul>

我的jquery看起来像这样

$('.portfolio_link').css({backgroundPosition: "-480px 0"});

$('.icon').parent().prev().dialog({resizable:false,autoOpen:false,draggable:false,width:860,height:pageheight,modal:true});

$('icon').click(function(){$(this).parent().prev().dialog('open');

});

使li元素成为一个对话框,但.click函数不会打开对话框。

任何想法都会很棒

干杯

1 个答案:

答案 0 :(得分:1)

你的最后一行javascript代码说:

$('icon').click(function(){$(this).parent().prev().dialog('open');

也许你在classname图标之前忘记了点?

所以它应该是

$('.icon').click(function(){$(this).parent().prev().dialog('open');

或者这只是一个错字?