2

我试图通过 Javascript 动态隐藏页面上的特定照片,方法是选择它们的 data-id 属性并隐藏照片。这是通过 Ajax 从 TXT 文件中获取 ID,将它们拆分为数组,然后使用 jQuery 隐藏具有该 ID 的 img 来实现的。请注意,此函数每 3 秒通过一次 setInterval ...

    function getBlockedIDs() {
            var stringData = $.ajax({
                    url: "http://s61892.gridserver.com/zone/twitter2/blocked.txt",
                    async: false
            }).responseText;
            var blockedArray = new Array();
            blockedArray = stringData.split(",");
            var length = stringData.length
            for (var i = 0; i < length; i++) {
                    $('img.tweetphoto[data-id="' + stringData[i] + '"]').hide();
            }
    }

我的问题是,它不起作用!控制台不会抛出任何错误。我的代码有什么问题?这背后的想法是在不重新加载页面的情况下阻止特定(不适当的)照片。

任何帮助表示赞赏!

4

2 回答 2

1

您确定要在 for 循环中使用 stringData 而不是阻塞数组吗?如果是这样,也将分配更改为长度。

我的版本看起来像:

     function getBlockedIDs() {
        var blockedArray = $.ajax({
                url: "http://s61892.gridserver.com/zone/twitter2/blocked.txt",
                async: false
        }).responseText.split (/\s*,\s*/);
        for (var i = blockedArray.length; i--;) {
                $('img.tweetphoto[data-id="' + blockedArray[i] + '"]').hide();
        }
}
于 2012-11-14T06:56:21.413 回答
0

我会做类似的事情:

function getBlockedIDs() {
    $.get("http://s61892.gridserver.com/zone/twitter2/blocked.txt", function(stringData) {
        var blockedArray = stringData.split(/\s*,\s*/);
        for (var i = 0; i < blockedArray.length; i++) {
            $('img.tweetphoto[data-id="' + blockedArray[i] + '"]').hide();
        }
    });
}
于 2012-11-14T07:09:18.823 回答