在页面加载时运行JQuery函数

时间:2012-11-07 18:30:37

标签: jquery html dom

我正在尝试在页面加载上运行一些jquery但它现在正在运行。它正在检查链接是否已经保存,如果已经设置了表格。这是否可能,因为它应该使用img类运行每个div?

$(document).ready(function(){
    $(".img a").live('pageshow', function(event, ui) {
        var item=$(this).attr( 'href' );
        var action="check";
        jqxhr = $.post("webservice.php", { action: action, color: item }, function(data) {
            var result=data.result;
            if (result="saved") {
                $("span", this).html("Saved");
                $(this).attr("href","saved");
            }

        }, "json")
        .error(function() {         
            alert("error: unable to contact web service"); 
        });
    });
});

这是HTML

                            <td>
                                <div class="img" style="background:#f8d3cf;">
                                    <a href="f8d3cf" rev="1" class="link">
                                        <span>Click to Save</span>
                                        <em>Saved</em>
                                    </a>
                                    <div class="popup">
                                        <div class="holder">
                                            <div class="popup-img" style="background:#f8d3cf;"></div>
                                            <div class="info">
                                                <h3>Desert Warmth</h3>
                                                <strong class="num">70YR 56/190 <span>A0542</span></strong>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </td>

2 个答案:

答案 0 :(得分:0)

如上所述,pageshow是一个qmobile事件,而onpageshow是html5,并非所有浏览器都支持。答案是使用'window.onload = function(){};' window.onload中的任何内容都将在页面加载时处理。这是我使用window.onload的方式。第一个ajax调用从会话加载cart_id,或者如果需要则创建一个。完成ajax调用后,将调用填充购物车中项目的应用程序。

window.onload = function() {
    $j(".cartid").each(function() {
        var self = $j(this);

        jqxhr = $j.post("mycartid.php", function(data) {
            self.html(data.cart_id);
        }, "json").complete(function() {

            $j("#cartitems").each(function() {
                var self = $j(this);
                jqxhr = $j.post("printitems.php", function(data) {
                    //var result=data.result;
                    self.html(data);
                }, "html");

            });
        });
    });
 };

答案 1 :(得分:0)

在你的最后一行'));'应该是'});

$(document).ready(function(){
    $(".img a").live('pageshow', function(event, ui) {
        var item=$(this).attr( 'href' );
        var action="check";
        jqxhr = $.post("webservice.php", { action: action, color: item }, function(data) {
            var result=data.result;
            if (result="saved") {
                $("span", this).html("Saved");
                $(this).attr("href","saved");
            }

        }, "json")
        .error(function() {         
            alert("error: unable to contact web service"); 
        });
    });
});