".required" написать ".required, #parent_cat_id, #category_id" . + - * /var re = /^0(?![\.\+\-\/\*])/;
['03','0','0.','0+'].map(s => s.replace(re,'')) /* 3,,0.,0+ */+ - * /; каждую из частей бить по точке, и каждое из получившихся целых прогонять через parseInt() – это отбросит нули в начале. Потом собирать: склеить точкой, склеить знаком операции.[5.1, "*", 4.2, "-", 3.7] И перед склейкой в одну строку для отображения в табло, проводить необходимые коррекции чисел.// внутри ul с классом list ищем все li
var myNodeList = document.querySelectorAll('ul.list li');
if( myNodeList.length) { // что-то нашлось, коллекция не пустая
var el0 = myNodeList[0]; // первый
}Рабочий примерquerySelectorAll() есть и у документа и у элемента. Так что можно сначала получить элемент, внутри которого искать, а затем внутри него собрать коллекцию:var list = document.querySelectorAll('ul.list'); // все UL класса list в документе
if( list.length) {
var items = list[0].querySelectorAll('.list');
// любые элементы класса list внутри первого найденного ul.list
if(items.length) {
var item = items[0]; // первый из li
}
} 0 + 1 = 1 // итого первые три ряда: 0 1 1= 2 // 0 1 1 21 + 2 = 3 // 0 1 1 2 3значение: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144
порядковый номер: 0 1 2 3 4 5 6 7 8 9 10 11 12 Восьмой, если считать с 0, равен 21.getFibonachi() передаётся не значение, а порядковый номер элемента ряда Фибоначчи, а функция должна вернуть значение.(n-1) и (n-2)dlina_stroki * position.y + position.x10x10 — массив длиной 100.0,0 200,0 400,0 ... 1800,0
0,200 200,200 400,200 ... 1800,200
0,400 200,400 400,400 ... 1800,400
...
0,1800 200,1800 400,1800 ... 1800,1800(400,200)i = storona * y / shag + x / shagshag = 200 значит, искомый индекс 10 * 200 / 200 + 400 / 200 = 12 const dg = document.getElementById.bind(document);
const inKey = dg('in-key');
const inVal = dg('in-val');
dg('btn-to').addEventListener('click', e => {
localStorage.setItem(inKey.value, inVal.value);
});
dg('btn-from').addEventListener('click', e => {
inVal.value = localStorage.getItem(inKey);
});
dg('btn-list').addEventListener('click', e => {
let list = [];
for (let i = 0; i < localStorage.length; i++) {
let k = localStorage.key(i);
list.push('<dt>'+k+'</dt><dd>'+localStorage.getItem(k)+'</dd>');
dg('list').innerHTML = list.join('\n');
}
});рабочий пример data = [
["M166 E16", "A-Class", "2004", "A 160", "W168.II", "бензин"],
["M166 E19", "A-Class", "2004", "A 190", "W168.II", "бензин"],
// и остальные данные.
];// вместо многократного
($("#class").val())
// лучше один раз
var _class = $("#class").val();
// и потом использовать значение этой переменной-1 короче записать так: !!~value – тоже будет false только если value == -1$(document).ready(function() {
const data = [
["M166 E16", "A-Class", "2004", "A 160", "W168.II", "бензин"],
["M166 E19", "A-Class", "2004", "A 190", "W168.II", "бензин"],
["M266 E15", "A-Class", "2005", "A 150", "W169.I", "бензин"],
// и остальные данные.
];
$('.left').on('input', function() {
const _class = $("#class").val(),
_model = $("#model").val(),
_god = $("#god").val(),
_kuzov = $("#kuzov").val(),
_tip = $("#tip").val()
;
var index = -1; // сначала считаем, что "не найдено"
for(let i = 0; i < data.length; i++) {
let car = data[i];
if( !!~car.indexOf(_class)
&& !!~car.indexOf(_model)
&& !!~car.indexOf(_god)
&& !!~car.indexOf(_kuzov)
&& !!~car.indexOf(_tip)
) {
index = i;
break;
}
}
if(!!~index) { // нашли и index стал больше -1
$("#page-title").html( "Мотор " + data[i][0] );
} else { // не нашли и index === -1
$("#page-title").html( "Нет такого" );
}
});
});<br> на \n. textarea в div – наоборот, \n на <br>:document.getElementById("btn-from")
.addEventListener('click',function(){
elTa.value = elSrc.innerHTML
.replace(/<br\/?>/ig, '\n')
.replace(/\n+/g, '\n')
.trim()
;
});
document.getElementById("btn-to")
.addEventListener('click',function(){
elSrc.innerHTML = elTa.value
.replace(/\n/g, '<br>')
.trim()
;
});break. break нужен. У вас функция, которая должна вернуть значение. Как только обнаружили, что найден делитель, всё, можно сразу возвращать результат «Составное число».function testCycle(n) {
for (let i = 2; i < n / 2; i++)
if (n % i === 0)
return "Составное число";
return "Простое число";
}let – это то же, что и var, но действует не в рамках всей функции, а только в рамках блока. В данном случае, внутри цикла.=== – это «строгое» равенство. То же, что и ==, но ещё и проверяет, чтобы типы совпадали, т.е. не прокатит "0" === 0. Зато работает чуть быстрее.n, а до n / 2, т. к. целые множители не могут превышать половину произведения (второй множитель не меньше 2)You can use the "cut" and "copy" commands without any special permission if you are using them in a short-lived event handler for a user action (for example, a click handler).
sh() переопределяете для каждой статьи заново – остаётся последний вариант.display:none У вас это text__podzigilovol. id управляемой статьи в data-атрибуте: data-id="info-2" – так кнопка будет «знать», кем она управляет.javascript:..., вместо этого лучше на них повесить слушателя события клика. Удобно дать всем кнопкам определённый класс, по нему их отыскать и в цикле повесить слушателя события.this кликнутую ссылку. Из неё берёт data-атрибут с id нужного блока. И включает/выключает ему класс, который прячет этот блок.function sh(event) {
const className = "text__podzigilovol";
event.preventDefault();
obj = document.getElementById(this.dataset.id);
if(!obj) return;
if( obj.classList.contains(className)) {
obj.classList.remove(className);
} else {
obj.classList.add(className);
}
}
Array.prototype.forEach.call(
document.querySelectorAll('.js-btn-readmore'),
function(e){
e.addEventListener('click', sh);
}
);.length – вероятно, собирались перебирать i от 0 до длины строки arr1. Тут не массивы, а две строки.for (i=0; i<arr1.length; i++) {
for (j=0; j<arr2.length; j++){i букву, достаточно взять i-й элемент строки arr2:arr2[ i ];var arr1 = '3649824598';
var arr2 ='АБВГДЕЖЗИК';
arr1.split('').map(n => arr2[n]).join('') // ГЖДКИВДЕКИsplit('') сделает из строки массив цифр;map() применит к каждой цифре функцию, которая заменит цифру на соотв. букву из arr2;join('') склеит элементы массива (теперь уже буквы) в одну строку.<script type="text/js-worker">
var myVar = 'Hello World!';
// остальной код web-worker'а
</script>
<!-- ... -->
<script type="text/javascript">
var blob = new Blob(Array.prototype.map.call(document.querySelectorAll('script[type=\'text\/js-worker\']'), function (oScript) { return oScript.textContent; }),{type: 'text/javascript'});
// Creating a new document.worker property containing all our "text/js-worker" scripts.
document.worker = new Worker(window.URL.createObjectURL(blob));