大佬教程收集整理的这篇文章主要介绍了javascript – 在Console.Log()中显示HTML而不是jQuery选择对象,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我将真正的console.log()复制到console.nativeLog();我将自己的自定义函数@L_489_4@到console.log();
这是代码:
<div class="myDiv"> <input type="text" id="inp1" title="title1" /> <input type="text" id="inp2" title="title2" /> <input type="text" id="inp3" title="title3" /> <input type="text" id="inp4" /> <input type="text" id="test" value=""> </div> <input type="button" id="btn1" value="Add" /> <script type="text/javascript"> console.nativeLog = console.log; var arr= new Array(); for(var i=0;i<100;i++){ arr[i] = i+','+i; } var fav = JSON.parse('[{"href":"/EMS-ILS/Modules/supplier_Profile/supplier_Profile.aspx?ModID=6&WebPagEID=38","text":"supplier Profile"},{"href":"/EMS-ILS/Modules/Customer_Profile/Customer_Profile.aspx?ModID=6&WebPagEID=57","text":"Customer Profile"},{"href":"/EMS-ILS/Modules/CosTing_Profile/CosTing_Profile.aspx?ModID=6&WebPagEID=50","text":"CosTing Profile"}]') console.log = function (val){ if(typeof(val)=='String'){ console.nativeLog(val); return; } try{ for(var x=0;x<arguments.length;x++){ var arr = arguments[x]; try{ if(!arr.length) console.nativeLog(arr); else { for(var i=0;i<arr.length;i++) console.nativeLog(arr[i]); } }catch(err1){ console.nativeLog(arr); } } } catch(err2){ console.nativeLog(val); } } $(document).ready(function(){ console.log('-------------'); console.log($('input')); console.log('-------------'); console.log($('#inp1')); console.log('-------------'); console.log($('#badId')); console.log('-------------'); console.log($('input'),$('#bad'),$('input:text'),fav,arr) }); </script>
一切正常,但最后一个.如果jquery对象不包含任何结果,它仍将打印上下文jquery对象.
这是控制台中的输出.
怎么可以预防呢?有任何想法吗.谢谢.
console.nativeLog = console.log; console.log = function(val) { var x = 0; for (x; x < arguments.length; x++) { var item = arguments[x]; // check if we are dealing with jQuery object if (item instanceof jQuery) { // jQuery objects with length property are // the only ones we want to print if (item.length) { for (var i = 0; i < item.length; i++) { console.nativeLog(item[i]); } } else { console.nativeLog('[]'); } } else { console.nativeLog(item); } } }
这是用于打印多个参数的实际console.log行为的更准确复制,例如. console.log(‘a’,’B’,2,[])在一行:http://jsfiddle.net/tppiotrowski/KYvDX/4/
console.nativeLog = console.log; console.log = function() { var x = 0; var output = []; for (x; x < arguments.length; x++) { item = arguments[x]; if (item instanceof jQuery) { if (item.length) { for (var i = 0; i < item.length; i++) { output.push(item[i]); } } else { output.push('[]'); } } else { output.push(item); } } console.nativeLog.apply(this,output); }
以上是大佬教程为你收集整理的javascript – 在Console.Log()中显示HTML而不是jQuery选择对象全部内容,希望文章能够帮你解决javascript – 在Console.Log()中显示HTML而不是jQuery选择对象所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。