如何动态调用任何js函数

时间:2011-12-06 03:36:03

标签: javascript jquery css

网页正在客户端运行,页面中有div通过ajax fn()动态更改内部HTML,但我遇到了jQuery fn()未运行的问题。

假设这是正在运行的网页

<html> <head>
 <script type="text/javascript" src="jquery-1.6.2.min.js"> </script>
 <script type="text/javascript" src="jquery-ui.min.1.8.11.js"> </script>
</head> <body>
    <div id = "dynamic"> </div>
    <input type = "button" id="click" />

 <script type="text/javascript">

   $("#click").click(function(){
        // send request to server via ajax (xmlHttprequest )
        // get html contents as responseText 

    $("#dynamic").html(responseText);
       });
 </script>    
</body>  </html>

正如您在上面给出的示例中所看到的,如果客户端点击按钮,请求发送到服务器并获取innerHTML作为responseText,并将其放入dynamic div

* responseText作为innerHTML工作:* css属性已加载并正常工作

<div id="myDiv"> </div>
<style type="text/css">
  #myDiv { width: 100%; height:100%; background: blue; }
</style>

innerHTML不起作用: css如果我使用jQuery加载css文件,则属性不起作用

<div id="myDiv"> </div>

<script type="text/javascript">
   $(document).ready(function(){
     $("head").append($("<link rel='stylesheet' href='test.css' type='text/css' />"));
       });
</script>

并且test.css在服务器上(css属性在外部文件中定义)

#myDiv { width: 100%; height:100%; background: blue; }

2 个答案:

答案 0 :(得分:0)

如果该函数存在于全局空间

window["functionName"]();

如果你已命名,那么

myNameSpace["functionName"]();

答案 1 :(得分:0)

如果您希望动态地向DOM添加样式表,请尝试以下操作:

$.get('test.css', function(responseCSS)
{
   $('<style type="text/css"></style>').html(responseCSS).appendTo("head");
});