<span class="sps span-size-20">20</span>
<span class="sps span-size-55">55</span>
$(".sps").css("font-size", function(){
var fontSize = this.className
.split("span-size-")[1].split(" ")[0];
return fontSize + "px";
});
<span data-size="20">Строка</span>
<span data-size="50">И я строка</span>
$("span[data-size]").css("font-size", function(){
return this.dataset.size + "px";
});
Если элементу назначен специальный атрибут id, то можно получить его прямо по переменной с именем из значения id.
Это поведение соответствует стандарту. Оно существует, в первую очередь, для совместимости, как осколок далёкого прошлого и не очень приветствуется, поскольку использует глобальные переменные. Браузер пытается помочь нам, смешивая пространства имён JS и DOM, но при этом возможны конфликты.
var maxHeight = Math.max.apply(
null,
$.map($("div"), function(e){
return $(e).height();
})
);
$("div").height(maxHeight);
$("form").on("focus", ".form_group > input", function(){
$(this).next(".send_button").fadeIn();
}).on("blur", ".form_group > input", function(){
$(this).next(".send_button").fadeOut();
});
И почему не работает функция on('change')? Если я хочу чтобы кнопка появлялось только когда в инпуте написали.
$('.push').click(function(){
$('.del').removeAttr('id');
$(this).next('div').children('.del').attr('id', 'disqus_thread');
var DIS_SHORT = 'allfreecourses',
dsq = document.createElement('script');
dsq.async = true;
dsq.src = 'http://' + DIS_SHORT + '.disqus.com/embed.js';
(document.head||document.body).appendChild(dsq); //Как head'a может не быть???!?
})
var a = [];
var b = [];
var c = [];
a[0] = 1;
b[0] = 1;
for (var i = 0; i < 4; ++i) {
c = a;
for (var j = 0; j < a.length; ++j) {
a[j] = a[j] + b[j]; //a[j] = c[j] = a[j] + b[j];
}
b = c; //b = c = a
console.log(c); // выводит [2], потому что c[0] = a[0] = b[0] + a[0] = 1 + 1 = 2
}
var a = "text", b = a;
b = "Other text";
console.log(a, b); //text, Other text
var arr = [], brr = arr;
arr.push("item");
console.log(a[0], b[0]); //item, item
array.slice()
.<ul>
<li></li>
<ul>
$("ul").on("click", "li", function(){ ... });
elem.setAttribute("fill", color);
.<svg width="200" height="200">
<rect width="100" height="100" x="50" y="50"
fill="none" stroke="gold"
stroke-width="10"/>
<rect width="160" height="160" x="20" y="20"
fill="none" stroke="yellowgreen"
stroke-width="10%"/>
</svg>
<div>
<button data-color="orange">Оранжевый</button>
<button data-color="tomato">Томатный</button>
</div>
document.querySelector("div").onclick = function(e){
var t = e.target;
if(t.parentNode===this)
document.querySelector("rect").setAttribute("fill", t.dataset.color);
}
а можно в Jquery это воплотить?
$("div").on("click", "button", function(){
$("rect").attr("fill", $(this).data("color"));
});