2012-07-07 54 views
-1

我有一个包含一些HTML和大量的Javascript阻止Javascript执行jQuery的HTML()

<div id="mydiv"> 
<p>Hello Philippines</p> my first time in Philippines is nice 
<script type="text/javascript">alert("how was it became nice?");</script> 
well I experienced a lot of things 
<script type="text/javascript">alert("and how about your Japan's trip?");</script> 
well its more nicer ^^ but both countries are good! hahah 
</div> 

我想提出两个独立的变量非JavaScript代码和Javascript代码一个div:

var html = $("#mydiv").html(); 

我在这里的问题是,我的JavaScript正在执行,这让我停下来创建我想要的代码,这是存储的JavaScript和非JavaScript的两个不同的变量。

  1. 我该如何阻止javascript代码执行时,他们是 得到里面的div?
  2. 如何将JavaScript和非JavaScript代码安全地存储到两个不同的变量中?

注:我需要为以后的执行

+1

把你的javascript代码放在函数里面。他们在被召唤之前不会被执行。 – 2012-07-07 09:10:49

+1

1)使用'text'而不是'html',2)你可能需要一些正则表达式来分开它们 – Zbigniew 2012-07-07 09:12:17

+0

什么时候你要运行javascript?你的脚本将运行在我看到的页面加载中。 – Bob 2012-07-07 09:12:26

回答

2

存储的JavaScript,你可以使用code标签,而不是script

HTML:

<div id="mydiv"> 
<p>Hello Philippines</p> my first time in Philippines is nice</p> 
<code>alert("how was it became nice?");</code> 
well i experienced a lot of things 
<code>alert("and how about your Japan's trip?");</code> 
<p>well its more nicer ^^ but both countries are good! hahah 
</p> 
</div> 

JS:

var html = $('#mydiv *').not('code').html() 
var code = $('#mydiv code').text() 

http://jsfiddle.net/dMDy5/3/

+0

嗯,好主意^^ – 2012-07-07 09:16:20

+0

呵呵你刚给我答案!以及谢谢^^但是有没有任何解决方法来处理脚本标记而不是代码标记? – 2012-07-07 09:22:35

+1

@Mhan你不客气:)像这样的东西? http://jsfiddle.net/dMDy5/4/ – undefined 2012-07-07 09:25:18