尝试在屏幕上显示结果之前编辑结果

时间:2010-10-08 10:38:05

标签: javascript jquery

以下似乎无法正常运作。

    success: function(results) 
    { 
        var $results = $(results);

        $results.find('a[href$=".exe"]').each(function(){
            if (FileExists(this.href) == false) {
               $(this).parent().remove(); 
            } 
        }); 

        $("#divSearchResults").empty().append($results);
    }

它应该从结果中删除任何.exe链接,然后将修改后的结果附加到屏幕。

编辑1:这是FileExists函数的脚本:

function FileExists(path) {
    var fso = new ActiveXObject("Scripting.FileSystemObject");

    FileExist = fso.FileExists(path);

    if (FileExist == true) {
        return true
    } else {
        return false
    }
}

编辑2:结果包含以下内容:

<div><a href="link1.xls">link 1</a></div>  
<div><a href="link2.exe">link 2</a></div>  
<div><a href="link3.doc">link 3</a></div>  
<div><a href="link4.aspx">link 4</a></div>  

2 个答案:

答案 0 :(得分:1)

经过一些测试我认为问题出在$(this).parent().remove()和你的结果上,如果你看this fiddlethis fiddle,第一个不起作用,但第二个有效在我们将其包裹在一个范围内之后,只需这样结果$ result就不会变空。

答案 1 :(得分:0)

有点预感,FileExists使用AJAX调用?在这种情况下,异步an不会返回任何可靠的东西,因为它退出了应用程序的当前流程。