Jquery problem getting text from a script tag?

匿名 (未验证) 提交于 2019-12-03 02:31:01

问题:

I have this small HTML document:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html>     <head>         <title>HTML Test</title>          <script type="text/javascript" src="jquery-1.3.2.min.js"></script>          <script type="text/javascript">             $(document).ready(function()             {                 $("script").each(function()                 {                     if($(this).attr("type") == "code")                     {                         alert($(this).text());                     }                  });             });         </script>      </head>      <body>  <script type="code"> var Text = "Text"; </script>      </body> </html> 

When run using Firefox the alert displays the text contents of the <script type="code"> tag. When run in IE8 it displays nothing.

Do you know why? I'm stumped.

回答1:

You might have more luck with .html() and if that doesn't work try this.innerHtml. I did not test this however.

I do have another tip for your code however. If you want only scripts of type code you can have a single selector instead of having to check the attribute in the loop:

$("script[type=code]").each(function() {     alert($(this).html());     alert(this.innerHtml); }); 


回答2:

Use .html() instead for better support with ie.

You can also look at: http://docs.jquery.com/Plugins/Metadata for storing information in script tags.



回答3:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html>     <head>         <title>HTML Test</title>         <script type="text/javascript" src="jquery-1.3.2.min.js"></script         <script type="text/javascript">             $(document).ready(function()             {                     $("script").each(function()                     {                             if($(this).attr("type") == "code")                             {                                 alert($(this).html());                             }                     });             });         </script>     </head>     <body>         <script type="code">             var Text = "Text";         </script>     </body> </html> 


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!