let elem_count = elems.length;
for(let i = 0; i < elem_count; i++)
{
let elem = elems[i];
// что-то сделать с elem
}
let elem = document.querySelector('.elem'); // Берем нужный контейнер
elem.addEventListener('click' , function(e) // вешаем обработчик только на elem, за счет всплытия события, обработчик будет срабатывать на всех дочерних элементах
{
alert('k');
});
document.addEventListener('click' , function(e)
{
let elem = document.querySelector('.elem');
if( e.target == elem // кликнули на сам контейнер elem
|| e.target.tagName == 'SPAN' && e.target.parentNode == elem // или кликнули на какой-то элемент span, непосредственный родитель которого есть наш контейнер elem
)
{
alert('k');
}
})
for( let post of _data)
{
let body = post.body;
// что-то сделать с body
for(let block of body.blocks)
{
// что-то сделать с block
for(let curr_data of block.data)
{
// что-то сделать с data в block
}
// что-то сделать с block
}
// что-то сделать с body
}
class DeviceController {
getItems = async (query) => {
let { brandId, typeId, limit, page, } = req.query
page = page || 1
limit = limit || 9
let offset = page * limit - limit
let devices;
if (!brandId && !typeId) {
devices = await Product.findAndCountAll({ limit, offset })
}
return devices
};
getAllForClient = async (req,res) => {
let newList=[]
let devices=await this.getItems(req.query)
for (let index = 0; index < devices.length; index++) {
let newItem={
name:devices[index].name,
price:devices[index].price,
videoUrl:devices[idnex].videourl
}
newList.push(newItem)
}
return res.json(newList)
}
}
т.е. если в таблице wp_reviews запись с company_id=2001 не существует, то для таблицы wp_posts для строки с ID=2001 обновляем post_status на 'draft'
update wp_posts p
set p.post_status = 'draft'
where not exists (select 1 from wp_reviews r where r.связующий_ключ = p.связующий_ключ)
// тут опущены действия связанные с формированием запроса,
// на этом этапе вы каким-то способом получили выборку данных из таблицы links
foreach($rows as $row)
{
echo '<a href="'.$row['link_href'].'" title="'.$row['link_title'].'">'.$row['link_text'].'</a><br/>';
}
var container = document.getElementById('какой-то-id-контейнера-куда-вывести');
container.innerHTML = "<p style='text-align: center'>User info:</p>\
<table>\
<tr><td>Name:</td><td>" + response.name + "</td></tr>\
<tr><td>Username:</td><td>" + response.username + "</td></tr>\
<tr><td>Address:</td><td>" + response.address.city + ", " + response.address.street + "</td></tr>\
<!-- И дальше в таком же духе -->\
</table>";
$limit = 'limit 0, 500';
$order_column = 'added';
$order_direct = 'desc';
if(isset($_GET['order_col']))
{
if($_GET['order_col'] == 'updated')
$order_column = 'updated'; // не вздумайте подставлять из GET название колонки, будет sql-инъекция!
}
if(isset($_GET['order_dir']))
{
if($_GET['order_dir'] == 'asc')
$order_direct = 'asc'; // не вздумайте подставлять из GET название клаузы, будет sql-инъекция!
}
if (isset($_GET['ajax2'])) $limit = 'limit '.(int)$_GET['offset'].', 30'; // тут застраховано от инъекции при помощи преобразования в int!
$rows = fs::getObjects($sql, "order by c_object.".$order_column." ".$order_direct." ".$limit);
$rowsCount = count(fs::getObjects($sql));
if (isset($_GET['ajax2']) && !count($rows))
{
header("HTTP/1.0 404 Not Found");
die;
}
<svg ... viewBox="23 160 466 192"
<style>
div.container
{
width: 120px;
height: 50px;
background: url(1.svg) no-repeat;
border: 1px solid black;
}
</style>
<div class="container">
</div>
update table_1 t1
set t1.column_1 = A
where exists (select 1 from table_2 t2 where t2.какой-то-связный-ключ-с-t1 = t1.какой-то-связный-ключ-с-t2 and t2.column_1 = B)
полоски прогресса и таймера в отдельный поток?