$(document).ready(function(){
var i=0;
$('#addmoreEdu').click(function(){
i++;
$('#dynamic_field').append('<div class="row"><div id="row'+i+'"><div class="col s12 m12 "><label for="title">Certificate Title</label><textarea class="materialize-textarea" style="padding: 0px;" id="title'+i+'" name="title[]">Secondary School Certificate</textarea></div><div class="col s12 m12 "><label for="title">School / College, City</label><textarea id="location'+i+'" name="location[]" class="materialize-textarea" style="padding: 0px;"></textarea></div><div class="col s3 m3 "><label for="title">Marks</label><input id="marks'+i+'" name="marks[]" type="text" value="" /></div><div class="col s3 m3 "><label for="title">Division</label><input id="divsion'+i+'" name="divsion[]" type="text" value="" placeholder="1st" /></div><div class="col s3 m3 "><label for="title">Year</label><select name="year[]"><option value="2019" selected>2019</option><option value="2018">2018</option><option value="2017">2017</option><option value="2016">2016</option><option value="2015">2015</option></select></div><div class="col s3 m3"><button type="button" name="remove" id="'+i+'" class="btn btn-danger button btn_remove">X</button></div></div></div>');
$('.btn_remove').click(function(){
var button_id = $(this).attr("id");
$('#row'+button_id+'').remove();
});
});
});
#dynamic_field > div:nth-of-type(even) {
background: #f5f5f5;
}
<div id="dynamic_field">
<div class="row">
<div class="col s12" style="padding-top: 12px;">
<div class="col s12 m12 "><label for="title">Certificate Title</label>
<textarea class="materialize-textarea" style="padding: 0px;" id="title" name="title[]">Higher School Secondary Certificate</textarea>
</div>
<div class="col s12 m12 "><label for="title">School / College, City</label>
<textarea id="location" name="location[]" class="materialize-textarea" style="padding: 0px;"></textarea>
</div>
<div class="col s3 m3 "><label for="title">Marks</label>
<input id="marks" name="marks[]" type="text" value="" />
</div>
<div class="col s3 m3 "><label for="title">Division</label>
<input id="divsion" name="divsion[]" type="text" value="" placeholder="1st" />
</div>
<div class="col s3 m3 "><label for="title">Year</label>
<select id="year" name="year[]">
<option value="2019" selected>2019</option>
<option value="2018">2018</option>
<option value="2017">2017</option>
<option value="2016">2016</option>
<option value="2015">2015</option>
</select>
</div>
<div class="col s3 m3"><button type="button" name="addmoreEdu" id="addmoreEdu" class="btn btn-success pull-right" >Add More</button></div>
</div>
</div>
</div>
<script src="//code.jquery.com/jquery-3.3.1.min.js"></script>
Теперь это работает отлично, как я ожидал ... Я немного изменил свои дивы, затем покажу полоса зебры на divs
Переопределите функцию console.log в вашем скрипте.
console.log = function() {}
Вот и все, сообщений на консоль больше нет.
РЕДАКТИРОВАТЬ:
Расширение идеи Сиде. Пользовательский регистратор, который вы можете использовать для включения / выключения регистрации из вашего кода.
Из моей консоли Firefox:
var logger = function()
{
var oldConsoleLog = null;
var pub = {};
pub.enableLogger = function enableLogger()
{
if(oldConsoleLog == null)
return;
window['console']['log'] = oldConsoleLog;
};
pub.disableLogger = function disableLogger()
{
oldConsoleLog = console.log;
window['console']['log'] = function() {};
};
return pub;
}();
$(document).ready(
function()
{
console.log('hello');
logger.disableLogger();
console.log('hi', 'hiya');
console.log('this wont show up in console');
logger.enableLogger();
console.log('This will show up!');
}
);
Как использовать вышеуказанный "регистратор"? В событии готовности вызовите logger.disableLogger, чтобы сообщения консоли не регистрировались. Добавьте вызовы к logger.enableLogger и logger.disableLogger внутри метода, для которого вы хотите записывать сообщения в консоль.
Упрощение https://stackoverflow.com/a/46189791/871166
switch (process.env.LOG_LEVEL) {
case 'ERROR':
console.warn = function() {};
case 'WARN':
console.info = function() {};
case 'INFO':
console.log = function() {};
case 'LOG':
console.debug = function() {};
console.dir = function() {};
}
После выполнения некоторых научных исследований для этой проблемы я столкнулся с этим решением, которое скроет предупреждения/Ошибки/Журналы согласно Вашему выбору.
(function () {
var origOpen = XMLHttpRequest.prototype.open;
XMLHttpRequest.prototype.open = function () {
console.warn = function () { };
window['console']['warn'] = function () { };
this.addEventListener('load', function () {
console.warn('Something bad happened.');
window['console']['warn'] = function () { };
});
};
})();
Добавляют этот код перед плагином JQuery (например,/../jquery.min.js), как раз когда это - код JavaScript, который не требует JQuery. Поскольку некоторые предупреждения находятся в самом JQuery.
Спасибо!!
Насколько я могу судить из документации , Firebug не предоставляет никаких переменных для переключения состояния отладки. Вместо этого оберните console.log () в оболочку, которая вызывает его условно, например:
DEBUG = true; // set to false to disable debugging
function debug_log() {
if ( DEBUG ) {
console.log.apply(this, arguments);
}
}
Чтобы не изменять все существующие вызовы, вы можете использовать вместо этого:
DEBUG = true; // set to false to disable debugging
old_console_log = console.log;
console.log = function() {
if ( DEBUG ) {
old_console_log.apply(this, arguments);
}
}
Следующее является более подробным:
var DEBUG = false;
if(!DEBUG){
if(!window.console) window.console = {};
var methods = ["log", "debug", "warn", "info"];
for(var i=0;i<methods.length;i++){
console[methods[i]] = function(){};
}
}
Это приведет к обнулению общих методов в консоли, если она существует, и их можно будет вызывать без ошибок и практически без накладных расходов на производительность. В случае браузера, такого как IE6, без консоли, будут созданы фиктивные методы для предотвращения ошибок. Конечно, в Firebug есть еще много функций, таких как трассировка, профиль, время и т. Д. Их можно добавить в список, если вы используете их в своем коде.
Вы также можете проверить, есть ли в отладчике эти специальные методы (например, IE), и обнулить те, которые он не поддерживает:
if(window.console && !console.dir){
var methods = ["dir", "dirxml", "trace", "profile"]; //etc etc
for(var i=0;i<methods.length;i++){
console[methods[i]] = function(){};
}
}