0

我正在使用以下代码来选择和解析 XML 文件。效果很好,但是因为我有 3 个不同的 XML 文件,所以我也有 3 个不同的页面。如果我可以将 url 替换为 XML 文件,而不是加载一个全新的页面,这将使我正在构建的应用程序更快。

$(document).ready(function(){
                $.ajax({
                    type: "GET",
                    url: "rss/page1",
                    dataType: "xml",
                    success: function(xml) {

所以,我想知道的是:是否可以url:通过一个简单的 jQuery 事件来更改 url?在伪代码中它会是这样的:

<a id="index" href="#">Index</a>
<a id="page1" href="#">Page 1</a>
<a id="page2" href="#">Page 2</a>

如果单击<a>带有 的标签id="index",则更url: "rss/what_ever_it_is_now"改为url: "rss/index"

太感谢了!

4

2 回答 2

1

只需在这些元素上挂钩 click 事件即可使用适当的文件名调用函数?

http://jsfiddle.net/saluce/6rBjX/

像这样的东西:

<a href="#" class="parseButton" data-filename="rss/index">Index</a>
<a href="#" class="parseButton" data-filename="rss/page1">Page 1</a>
<a href="#" class="parseButton" data-filename="rss/page2">Page 2</a>

​function parseFile(fileName) {

}

$(document).ready(function() {
    $(".parseButton").click(function(s,e) {
        $.ajax({
            type: "GET",
            url: $(this).attr("data-filename"),
            dataType: "xml",
            success: function(xml) {
            ... 
       });
       e.preventDefault();
    }
    }​

data-filename通过这样做,您实际上甚至可以通过简单地更改属性中的值来添加更多链接来解析额外的 XML 文件(如果您需要的话) 。如果您使用标签,该行e.preventDefault()用于防止页面重新加载。a如果您确实想要导致页面重新加载,只需将其删除。

于 2012-06-11T14:03:53.963 回答
0

嗨,

尝试这样的事情:

$(document).ready(function(){
     $('.lnk').click(function(){
      var pag = 'rss/'+ $(this).attr('id');
                    $.ajax({
                        type: "GET",
                        url: pag,
                        dataType: "xml",
                        success: function(xml) {
      //....
    });
});

和链接:

<a class="lnk" id="index" href="#">Index</a>
<a class="lnk" id="page1" href="#">Page 1</a>
<a class="lnk" id="page2" href="#">Page 2</a>
于 2012-06-11T14:11:03.530 回答