1

好的,我看到了这个教程http://css-tricks.com/dynamic-page-replacing-content/,实际上很酷!我的问题是流程,我有一个页面,不仅有内容,还有特定的 javascript 内容和 css。有没有办法动态加载这些文件,对吗?如果我在页面上有硬编码,我将如何加载该 css/js 脚本?

提前致谢。

[编辑]

一些代码:

<html>
<head>
<script type="text/javascript" src="..."></script>
<script type="text/javascript">
$(document).ready(
    alert('the document has finished loading!!');
    // do form validation and send
)
</script>
</head>
<body>
Please Full the necesary (*) Fields
<form method="post" action="testing.php" id="test" name="test">
    (*)<input type="text" name="fullname" />
    <input type="submit" value="Send" />    
</form>
</body>
</html>

假设我想动态加载该页面并加载放置在标题上的验证和相关 javascript。应该加载读取标题的文件吗?我怎么知道哪个已经加载了?

感谢您的回答!

“我猜他的意思是硬编码的、静态的。——Utkanos”——已编辑

4

1 回答 1

0

您可以通过更改 href 属性来动态更改 CSS 样式表。也可以通过将脚本 self 加载到 div 或将脚本 src 写入其中来动态加载 Javascript。

这里有一个简单的例子:

CSS 1:

body {
    background: black;
    color: #333;
}

CSS 2:

body {
    background: red;
    color: white;
}

HTML:

<html>
    <head>
        <title>Test page</title>
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>

        <link href="/includes/css/test1.css" rel="stylesheet" type="text/css" />  
    </head>

    <body>
        <h1>TEST!!!!!</h1>
        <div id="code"></div>
        <input type="button" id="but" value="click!" />

        <script>
            var css = 1;

            $('#but').click(function() {
                if(css == 1) {
                    css = 2;
                } else {
                    css = 1;
                }

                $('link').attr('href', '/includes/css/test' + css + '.css');               

                //test();
                test2();
            });

            function test2() {
                $('#code').html("<script>alert(\"It works!!!\");<\/script>");

                //Or parse the src 
                //$('#code').html("<script src=\"js/your_js_file.js"><\/script>")
            }
        </script>
    </body>
</html>

因此可以在页面加载后将 CSS 和 Js 加载到您的页面中。

希望这可以帮助!

于 2012-07-13T14:16:24.870 回答