Javascript 如何在没有';你没有分机吗?

Javascript 如何在没有';你没有分机吗?,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,我在asp.net repeater中有下载.pdf文件的链接,但我想隐藏没有.pdf文件扩展名的链接。 javascript // get file extensions var fileURL = $('hl_download').attr("href"); // get file extensions var fileURL = $('hl_download').attr("href"); function getFileExtension(fileU

我在asp.net repeater中有下载.pdf文件的链接,但我想隐藏没有.pdf文件扩展名的链接。
javascript

 // get file extensions
    var fileURL = $('hl_download').attr("href");
    // get file extensions
    var fileURL = $('hl_download').attr("href");


    function getFileExtension(fileURL) {
        return filename.split('.').pop();
    }


    var fileExtension =  getFileExtension(fileURL);
    if (fileExtension == null) {
        $('hl_download').addClass("hideLinke");
    }

    asp-markup
        <asp:Repeater ID="rp_resList" runat="server" OnItemDataBound="rp_resList_ItemDataBound" OnItemCommand="rp_resList_ItemCommand">
                                <ItemTemplate>
                                    <div class="resource">
                                        <div class="resource-head clearfix">
                                            <img class="pull-left" src="/ideapark/DesktopModules/ResourcesFilter/img/<%#  Eval("typeId") %>.png" alt="icon type" width="36" height="36" />
                                            <p class="resource-title pull-left">
                                                <asp:Literal ID="litType" runat="server" Text='<%# Eval("resType")  %>'></asp:Literal>
                                            </p>
                                            <div class="favorite-resource favorited pull-right">
                                                <asp:ImageButton ID="imgBtn_bookmark" runat="server" CommandName="bookmark_res" ImageUrl="~/DesktopModules/ResourcesFilter/img/off.png" />
                                            </div>
                                        </div>
                                        <div class="resource-body">
                                            <asp:HiddenField ID="hf_resID" runat="server" Value='<%#  Eval("Id") %>' />
                                            <p class="resource-subtitle"><a href='<%#  Eval("pageID") %>'><%#  Eval("name") %></a></p>
                                            <p>
                                                <asp:Literal ID="litSummary" runat="server" Text='<%#  Eval("summary") %>'></asp:Literal>
                                            </p>
                                            <div class="resource-links">
                                                <p><a class="resource-like" href="#">Like</a> <strong>&middot;</strong> <asp:HyperLink ID="hl_download" runat="server" CssClass="resource-download" NavigateUrl='<%# Eval("pdf_Doc_url") %>' ClientIDMode="Static">Download</asp:HyperLink>  </p>
                                            </div>
                                            <div class="resource-tags clearfix">
                                                <asp:Repeater ID="rp_tagsTopics" runat="server">
                                                    <ItemTemplate>
                                                        <span class="resource-tag pull-left">
                                                            <asp:LinkButton ID="lnkBtnTags" runat="server" Text=' <%#  Container.DataItem %>' OnClick="LinkButton1_Click"> <%#  Container.DataItem %></asp:LinkButton>
                                                        </span>
                                                    </ItemTemplate>
                                                </asp:Repeater>
                                            </div>
                                        </div>
                                    </div>

                                </ItemTemplate>
                            </asp:Repeater>
//获取文件扩展名
var fileURL=$('hl_download').attr(“href”);
//获取文件扩展名
var fileURL=$('hl_download').attr(“href”);
函数getFileExtension(fileURL){
返回filename.split('.').pop();
}
var fileExtension=getFileExtension(fileURL);
if(fileExtension==null){
$('hl_download').addClass(“hideLinke”);
}
asp标记

·下载


您有两个主要问题。首先,对于没有扩展名的文件,扩展名检查将失败。检查以下内容:

function getFileExtension(fileURL) {
  if(filename.indexOf('.') === -1){return "";} //check for no extension
  return filename.split('.').pop();
}
其次,您没有检查任何特定链接。使用JQuery查找所有这些文件,并一次隐藏一个文件。假设您所指的链接是“类似资源的”:


除非您打算隐藏链接服务器端,否则我们可能不需要中继器代码,除非您在这方面也有问题。如果你愿意的话,你可以在数据绑定中继器之前检查这个。事实上,看看你的JS,你的选择器不够具体-你需要单独检查每个链接。这是我的问题。因为我在repeater中有多个链接,我将ClientMode=“Static”作为超链接。我的大问题是如何在javascript中获取所有下载链接您可以使用我回答中的代码在javascript中循环每个链接,或者在C#中修改集合,以便在数据绑定之前删除所有不符合条件的链接。
$.each($('.resource-like'),function(){
  var fileExtension =  getFileExtension(this.href);
  if (fileExtension == "" || fileExtension != "pdf") {
     $(this).addClass("hideLinke");
  }
});