我正在创建jQuery UI选项卡,但所有选项卡都显示带有所有内容的静态,选项卡无法正常工作,无法选择。 (我没有足够的声誉来发布图像><)数据来自XML文件。
这是代码:(我头上有所有的链接和脚本) 在HTML中:
<div id="tabs">
<ul id="tabtitle">
</ul>
</div>
我的js文件:
$(document).ready(function(){
var i = 1;
$.get('data.xml', function(d){
$(d).find('page').each(function(){
var $page = $(this),
title = $page.find('title').text(),
description = $page.find('description').text(),
var tabtitle = '<li><a href="#tab-' + i + '">' + title + '</a>' + '</li>';
$('ul#tabtitle').append($(tabtitle));
var tabcontent = '<div id="tabs-' + i + '">';
tabcontent += '<p> ' + description + '</p>' ;
tabcontent += '</div>';
$('#tabs').append($(tabcontent));
i++;
});
});
$( "#tabs" ).tabs();
});
我的XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<Pages>
<page>
<title>Tab1</title>
<description>content for Tab1 here</description>
</page>
<page>
<title>Tab2</title>
<description>content for Tab2 here</description>
</page>
<page>
<title>Tab3</title>
<description>content for Tab3 here</description>
</page>
<page>
<title>Tab4</title>
<description>content for Tab4 here</description>
</page>
</Pages>
答案 0 :(得分:0)
在标签中你在div id =“tabs-1”中使用tab-1(href attr)?
我认为正在改变
<a href="#tab-' + i + '">
到
<a href="#tabs-' + i + '">
会做的伎俩
答案 1 :(得分:0)
您正在创建对tab-n
的li引用,但相关的div称为tabs-n
。
所以没有匹配,你将面临这个问题;您可以通过注释tabs方法并检查DOM来检查问题。
尝试更改此内容:
var tabtitle = '<li><a href="#tab-' + i + '">' + title + '</a>' + '</li>';
$('ul#tabtitle').append($(tabtitle));
var tabcontent = '<div id="tabs-' + i + '">';
成:
var tabtitle = '<li><a href="#tab-' + i + '">' + title + '</a>' + '</li>';
$('ul#tabtitle').append($(tabtitle));
var tabcontent = '<div id="tab-' + i + '">';
因为您正在通过jQuery get
加载xml,所以必须在get callback函数结束时执行tabs
方法。