0

我有一个基本的 jQuery 网页,展示了一些基本功能,但也有一些不太基本的组件。我的某些页面部分需要通过外部 PHP 页面进行 SQL 查询。这些页面通过 GET 输入到主网页,然后插入到 div 中。执行此操作的代码设计如下所示:

function changeSystem(sysName)
{
    pageReq = "menu/"+group+"/"+sysName+".php";
    $("#thesys").load(pageReq);
    stylize();
}

Stylize 被创建为一个函数来描述我的样式(通过上面的函数调用并通过页面创建):

function stylize()
{
    $("#form").submit(function(event) {event.preventDefault();});
    $(".tabs").tabs();
    $("button").button();
    $(".radioset").buttonset();
    $(".sortable").sortable();
    $(".sortable").disableSelection();
    $(".accordion").accordion();
}

响应根据页面创建返回一些按钮和字段。代码在一定程度上工作得很好。显示内容,但是返回的内容不像页面其余部分上的所有其他 jQuery 对象那样样式化。它们显示为传统的按钮和字段,会影响页面的外观和感觉。如果我用静态嵌入内容替换自动化内容,按钮就会出现适当的风格化。我是否需要调用一个专门的 jQuery 方法来为这个新内容更正这个页面的样式?

编辑:

我所指的样式是通过http://jqueryui.com/获得的 jQuery 主题。边框样式、颜色和大小不会延续到生成的内容中。按钮的主题似乎类似于默认的 html 主题。

第二次编辑:

感谢 Pilotcam 提供的这些很棒的建议。我已经非常成功地实施了您的第二个建议,但是我仍在研究第二个建议。进度如上所示。

4

2 回答 2

1

如果您使用 jQuery 函数来设置原始页面的样式,则需要对动态加载的内容执行相同的操作。例如:

$("#myButton").button();

您也可以考虑使用 jQuery load() 函数而不是直接使用 XMLHttpRequest。(尽管这无助于手头的问题)

$("#thesys").load("menu/"+group+"/"+sysName+".php");

如果您需要在加载完成后执行某些操作,可以向您的 stylize() 函数添加回调,如下所示:

$("#thesys").load("menu/"+group+"/"+sysName+".php", stylize);
于 2012-04-23T20:43:32.213 回答
0

您如何设置页面样式?如果您以编程方式执行此操作,那么这只会设置现有元素的样式,如果之后添加新元素,则不会设置样式。所以我想你必须在新添加的元素上调用样式方法

于 2012-04-23T20:41:09.647 回答