在hQuery UI选项卡中,anchor href被误解为与<base />标记的外部链接

时间:2014-11-21 12:30:58

标签: jquery html ajax jquery-ui jquery-ui-tabs

我正在使用jquery UI标签。 (jquery 1.11.1,jQuery ui 1.11.1)

我在<base>中有以下head>标记:

<base href="http://mytestdomain.com/" />

现在当页面加载时,jquery UI会从我的两个<li>中生成两个选项卡,然后尝试通过ajax从基本URL加载内容。 jQuery ui不知道href锚点不是“外部”,但“本地”因此无法加载内容。

我的HTML:

<div id="container-1">
    <ul>
        <li><a href="#fragment-1">some text1</a></li>
        <li><a href="#fragment-2">some text2</a></li>
    </ul>
    <div id="fragment-1"> 
      LOREM IPSUM1
    </div>
    <div id="fragment-2"> 
      LOREM IPSUM2
    </div>
 </div>

我的javascript:

<script type="text/javascript">
    $(document).ready(function() {
        $('#container-1').tabs();
    });    
</script>

有人能帮助我吗?

1 个答案:

答案 0 :(得分:2)

由于您的基本代码:<base href="http://mytestdomain.com/" />

具有细分的链接将被解释如下:

<a href="http://mytestdomain.com/#fragment-2">some text2</a>

由于它指向一个目录,这肯定不会奏效。

修改超链接的href以包含剩余路径,直到包含该段的文件将解决问题。

例如:

<a href="index.html#fragment-2">some text2</a>

将被解释为

<a href="http://mytestdomain.com/index.html#fragment-2">some text2</a>

和jQuery-UI将从id找到index.html fragment-2 的元素