jQuery加载不加载内容

时间:2011-10-05 18:59:07

标签: jquery

为什么这不起作用的任何想法?

$('a.uiAjaxModal').click(function (e) {

            e.preventDefault();

            $modalHtml = '<div class="uiModalWrapper"><div class="uiModal"><!--content here--></div></div>';

            $($modalHtml).find('.uiModal').load($(this).attr('href'));

            $('body').append($modalHtml);

        });

<a class="uiAjaxModal" href="/Organisations/New">New</a>

它附加了模态,但内容未加载,我在控制台中没有错误!

同样我怎么能这样做,以便modalHtml仅作为我在代码中完成的点击事件附加到dom但是确保只有一个实例可以存在于屏幕?

3 个答案:

答案 0 :(得分:0)

将字符串设置为jquery对象,因为您在ajax中使用了jquery对象,但是您追加的是字符串,而不是jquery引用:

$('a.uiAjaxModal').click(function (e) {

        e.preventDefault();

        $modalHtml = $('<div class="uiModalWrapper"><div class="uiModal"><!--content here--></div></div>');

        $modalHtml.find('.uiModal').load($(this).attr('href'));

        $('body').append($modalHtml);

    });

<a class="uiAjaxModal" href="/Organisations/New">New</a>

如果您只希望它运行一次,那么请查看jquery中的.one()方法。

答案 1 :(得分:0)

我认为选择器无效。请试试这个

$( 'uiModalWrapper ')找到('。uiModal ')负载($(本).attr(' HREF'));

答案 2 :(得分:0)

我最终使用的是.ajax(),而且工作正常并且有更好的选择