Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 编程保存按钮不工作_Javascript_Jquery_Foursquare - Fatal编程技术网

Javascript 编程保存按钮不工作

Javascript 编程保存按钮不工作,javascript,jquery,foursquare,Javascript,Jquery,Foursquare,我在一个网站上工作,该网站每页都有一个以上的“保存”按钮,我需要对每个按钮进行回调,以便我可以在自己的系统中注册用户已完成保存操作。我想我已经想出了如何通过编程来实现这一点。。。但是对于我创建的每个小部件,当我试图通过SDK将其添加到DOM中时,我会得到一个“不能读取null属性'style'的错误” 这是我的Javascript <script type='text/javascript'> (function () { window.___fourSq =

我在一个网站上工作,该网站每页都有一个以上的“保存”按钮,我需要对每个按钮进行回调,以便我可以在自己的系统中注册用户已完成保存操作。我想我已经想出了如何通过编程来实现这一点。。。但是对于我创建的每个小部件,当我试图通过SDK将其添加到DOM中时,我会得到一个“不能读取null属性'style'的错误”

这是我的Javascript

<script type='text/javascript'>
    (function () {
        window.___fourSq = {
            "uid": "31904528",
            "secure": true,
            "explicit": false,
            "onReady": function () {
                $('.fourSquareVenueId').each(function () {
                    var vid = $(this).val();
                    var widget = new fourSq.widget.SaveTo({
                        "vid": vid
                    });
                    var container = $(this).parent().find('.placeholder');
                    widget.replace(container);
                });
            }
        };
        var s = document.createElement('script');
        s.type = 'text/javascript';
        s.src = 'https://platform-s.foursquare.com/js/widgets.js';
        s.async = true;
        var ph = document.getElementsByTagName('script')[0];
        ph.parentNode.insertBefore(s, ph);
    })();

(功能(){
窗口。四平方英尺={
“uid”:“31904528”,
“安全”:正确,
“明确”:错误,
“onReady”:函数(){
$('.fourSquareVenueId')。每个(函数(){
var vid=$(this.val();
var widget=new fourSq.widget.SaveTo({
“vid”:vid
});
var container=$(this.parent().find('.placeholder');
替换(容器);
});
}
};
var s=document.createElement('script');
s、 类型='text/javascript';
s、 src='1〕https://platform-s.foursquare.com/js/widgets.js';
s、 异步=真;
var ph=document.getElementsByTagName('script')[0];
ph.parentNode.insertBefore(s,ph);
})();

基本上,当加载SDK时,我遍历并找到所有隐藏的输入,其中包含场地id,然后我尝试创建一个“保存”小部件来替换我作为占位符的空锚定标记

以下是Chrome控制台中错误截图的链接:

任何帮助都将不胜感激。谢谢

编辑:以下是我正在使用的Foursquare文档:

很难预测,但是你改变了数组对象的原型了吗?

我知道了,如果你仔细想想,这是很明显的。我正在发送一个jQuery对象,而foursquare的sdk希望我向它发送一个DOM元素。将设置容器变量的行更改为:var container=$(this).parent().find('a')[0];这可以编辑得更清楚一点吗?或者你可以把你的评论作为解决方案发布吗?我花了一点时间才弄明白,但是您关于返回DOM元素的线索也解决了我的问题。不过,我不确定是否要对此进行投票,因为还不太清楚。。。。