./test.sh test1 test2 test3
test.sh:
#!/bin/bash
for i in "$@"; do
echo "$i"
done
Можно ли сейчас отказаться от подхода задания максимальной ширины
А также использую неразрывные пробелы для некоторых фраз.
Можно ли уже использовать CSS-свойство text-wrap: balance?
text-wrap: pretty;
выводится ошибка - [: missing `]'
Что значит эта ошибка
if [ "$projectDir" == "video" && "$flag" != "noflag" ]; then
следующим образом: ключевое слово if
, команда [
с аргументами "$projectDir" == "video"
, оператор &&
, команда "$flag"
с аргументами != "noflag" ]
, разделитель ;
, оператор then
.[
(она же test
), очевидно, не нашла в своих аргументах закрывающей скобки ]
, которая должна там быть при таком её вызове.как ее можно исправить?
-a
вместо &&
, как говорит man test. Как нужно вызывать js-функцию, чтобы она брала данные с той формы которую отправили? И как передать через ajax или ID, или Class формы?
<button type="submit" class="button">Отправить</button>
async function sendForm(form) {
const data = {
name: form.querySelector("input[name='name']").value,
email: form.querySelector("input[name='email']").value,
phone: form.querySelector("input[name='phone']").value,
message: form.querySelector("textarea[name='message']").value,
formId: form.id,
formClass: form.className
}
try {
const response = await fetch('php/send.php', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify(data)
});
if(response.ok) {console.log('Success send form')}
else console.log('Error send form', response);
}
catch(error) {console.log('Error: ' + error.message)}
}
document.querySelector('#form1').addEventListener('submit', (e) => {
e.preventDefault();
sendForm(event.target);
});
document.querySelector('#form2').addEventListener('submit', (e) => {
e.preventDefault();
sendForm(event.target);
});
В зависимости от формы нужно в PHP-скрипте менять тему письма.
$json = file_get_contents("php://input");
$data = json_decode($jsonData, true);
// get formId and formClass
$id = $data['formId'];
$class = $data['formClass'];
// this change type email message
Пытаюсь так:
let currentIndex = $(".js-practice_button.current").index();
Но значение всегда 0, у какой бы кнопки классcurrent
не присутствовал.
index
по умолчанию определяет индекс элемента среди соседей, а так как у каждой кнопки есть отдельный родитель... Ну да, получаете то, что получаете.const index = $('.js-practice_button.current').closest('li').index();
index
в качестве параметра селектор, то индекс будет определятся не среди соседей, а среди элементов, соответствующих селектору:const index = $('.js-practice_button.current').index('.js-practice_button');
const container = document.querySelector('.js-practices_buttons');
const itemSelector = '.practice_item';
const buttonSelector = `${itemSelector} .js-practice_button`;
const activeClass = 'current';
const activeSelector = `.${activeClass}`;
const index = Array.prototype.findIndex.call(
container.querySelectorAll(buttonSelector),
n => n.classList.contains(activeClass)
);
// или
const { children } = container;
let index = children.length;
while (index-- && !children[index].matches(`:has(${activeSelector})`)) ;
// или
const index =
(el => el ? [...el.parentNode.children].indexOf(el) : -1)
(container.querySelector(`${itemSelector}:has(${activeSelector})`));
// или
let index = -1;
for (
let el = container.querySelector(activeSelector)?.closest(itemSelector);
el;
el = el.previousElementSibling, index++
) ;
@echo off
for %%l in (en kz au cz th) do (
xcopy /E /I /Q /Y ru %%l
)
Затем перейдите в командной строке CMD в эту папку и запустите скрипт.@echo off
for %%l in (en kz au cz th) do (
mklink /D %%l ru
)
Но тут потребуется запускать командную строку от имени администратора, иначе ссылки не создадутся. main
│ script.cmd
├───au
│ └───dir
│ │ index.html
│ ├───css
│ └───js
├───cz
│ └───dir
│ │ index.html
│ ├───css
│ └───js
├───en
│ └───dir
│ │ index.html
│ ├───css
│ └───js
├───kz
│ └───dir
│ │ index.html
│ ├───css
│ └───js
├───ru
│ └───dir
│ │ index.html
│ ├───css
│ └───js
└───th
└───dir
│ index.html
├───css
└───js
$(".box43z6r6QZ").click(function(){
var $el = $(this);
$el.addClass("hG8KlY3Q");
setTimeout(function(){
$el.removeClass("hG8KlY3Q");
}, 1000);
});
определять position относительно блока с position: relavive