console中不能放整个html文档吧?

    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js"></script>
<table border=2 cellspacing=4>
    <tr><td>1</td><td></td></tr>
    <tr><td>2</td><td></td></tr>
    <tr><td>3</td><td></td></tr>
    <tr><td>4</td><td></td></tr>
</table>
    <script>
$(function(){
    $("table").find('tr').hide().slice(1,3).show();
    })
    </script>

上面的代码无法全部复制到浏览器的console中,运行?

图片描述

阅读 2.6k
6 个回答
通俗来说:控制台的console 执行的是js代码 

v8引擎是运行js的环境

为什么不可以,当然可以啊!

console.log(`    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js"></script>
<table border=2 cellspacing=4>
    <tr><td>1</td><td></td></tr>
    <tr><td>2</td><td></td></tr>
    <tr><td>3</td><td></td></tr>
    <tr><td>4</td><td></td></tr>
</table>
    <script>
$(function(){
    $("table").find('tr').hide().slice(1,3).show();
    })
    </script>`)

我的,没看清楚你的问题。控制台是不能执行HTML代码的,如果你非要执行这些代码,你可以转换成JS来执行,例如这样:

var jq = document.createElement('script');
jq.src = 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js';
document.head.appendChild(jq);
var table = document.createElement('div');
table.innerHTML = `<table border=2 cellspacing=4>
    <tr><td>1</td><td></td></tr>
    <tr><td>2</td><td></td></tr>
    <tr><td>3</td><td></td></tr>
    <tr><td>4</td><td></td></tr>
</table>`;
document.body.appendChild(table)
var fun = document.createElement('script');
fun.innerHTML = `$(function(){
    $("table").find('tr').hide().slice(1,3).show();
    })`;
document.body.appendChild(fun);

控制台不识别html代码。

可以了解下在console.log中使用eval其实最不懂的是这样做的实际作用是什么,探究原理?

肯定是不行的。
要运行demo代码的话可以用在线编辑器,还是很方便的。比如:https://codepen.io/

如果你只是想单纯打印这段代码的话,可以console.log('那一大段')
但是要放在引号内,不然在js中它会认为是变量,而不是字符串

如果你想打印页面内的整个文档,可以console.log(document),或者打印body:console.log(document.body)
整个文档都会被打印出来,点击小三角把详细代码放出来

如果想看jquery,直接找个没压缩过的jquery打开看就可以啊

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题