如何选择特定的HTML文件,并将元素附加到其标签上

时间:2015-09-05 01:39:06

标签: javascript jquery html node.js requirejs

我正在编写一个生成HTML文件的程序。

方式

1。)程序将根据用户的输入来确定要生成的HTML文件类型(HTML,XHTML 1.1,HTML4等)。该程序将使用以下内容:

var html5 = require('text!html/html5.html');
var html4 = require('text!html/html4.html');
var xhtml11 = require('text!html/html11.html');

2.)然后用户将选择库,程序会将这些库附加到所选HTML文件的相应标签上。类似的东西:

-jQuery 1.11.3选择

var jQuery1_11_3 = "<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>"

$('head').append('jQuery1_11_3');

问题:

  • 如何确保“head”是所选HTML页面的标记?而不是DOM的HTML?

  • 我也知道有一种更简洁的方法可以使用jQuery,任何建议吗?

1 个答案:

答案 0 :(得分:0)

注意,jQuery()在<{p>}处调用时未显示.append()

$('head').append('jQuery1_11_3');

处的字符串
var jQuery1_11_3 = "<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>"

似乎有语法错误;双引号内的双引号,没有内部引号被转义?

  

如何确保'head'是所选HTML页面的标记?   而不是DOM的HTML?

尝试使用document.getElementsByTagName("head")[0]选择head元素; document.createElement()创建script元素,将script src设置为"https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js",将script元素追加到head元素;当script作为onload对象的属性加载时,使用jQuery window事件来执行操作。

<html>
<head>
</head>
<body>
  <script>
    var script = document.createElement("script");
    script.id = "jquery";
    script.onload = function() {
      // utilize `setTimeout` here if `jQuery` not defined at `onload` event
      // setTimeout(function() { 
      console.log(window.jQuery("head").find(this).attr("id"))
      // }, 1000)
    }
    script.src = "https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js";
    var head = document.getElementsByTagName("head")[0];
    head.appendChild(script);
  </script>
</body>
</html>