


104 css選擇器的的封裝 $("#ele").css() $(".ele").css() $("ele").css()_html/css_WEB-ITnose
Jun 24, 2016 am 11:44 AM
//demo.js ?調(diào)用
window.onload = function () {
? ? // $().getClass("a").css("color","red");//舊方法
? /* ?$("#box").css("color", "red").click(function(){
? ? ? ? alert($(this).html())
? ? });*/
? ? //$(".a").css("color","green")
? ?// $("p").find(".a").css("color","blue");
? ? $("div").find("span").css("color","red")
? // $("div").find(".a").css("color","red");
? ? //$("div").find("#bb").css("color","red")
//$(".a").css("color","red")
};
//Base.js
var $=function(args)//調(diào)用,把this傳遞過來
{
? ? return new Base(args);
};
//對象式
function Base(args)
{
? ? //創(chuàng)建一個數(shù)組來獲取節(jié)點和節(jié)點的數(shù)組
? ? this.elements=[];//私有化,不共用
? ? if(typeof args=="string")//$(".a").css("color","green")這樣調(diào)用執(zhí)行這里
? ? {
? ? ? switch (args.charAt(0))
? ? ? {
? ? ? ? ? case "#":
? ? ? ? ? ? ? this.elements.push(this.getId(args.substring(1)));
? ? ? ? ? ? ? break;
? ? ? ? ? case ".":
? ? ? ? ? ? ? this.elements=this.getClass(args.substring(1));//getClassreturn的是數(shù)組所以直接賦值
? ? ? ? ? ? ? break;
? ? ? ? ? default :
? ? ? ? ? ? ? this.elements = this.getTagName(args);//getClassreturn的是數(shù)組所以直接賦值
? ? ? }
? ? }
? ? else if(typeof ?args=="object") // $().getClass("a").css("color","red");這樣調(diào)用就執(zhí)行這里
? ? {
? ? ? ? if(args!=undefined)//這里的_this是一個對象,undefined也是個對象,卻別typeof放回的帶單引號的 “undefined”
? ? ? ? {
? ? ? ? ? ? this.elements[0]=args; //把this放到數(shù)組的第一個
? ? ? ? }
? ? }
}
//設(shè)置css選擇子節(jié)點
Base.prototype.find=function(str)
{
? ? var childElements=[];//臨時數(shù)組避免和base.element[]沖突
? ? for(var i=0;i
? ? ? ? switch (str.charAt(0))
? ? ? ? {
? ? ? ? ? ? case "#":
? ? ? ? ? ? ? ? childElements.push(this.getId(str.substring(1)));
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case ".":
? ? ? ? ? ? ? /* ?var all=this.elements[i].getElementsByTagName("*");
? ? ? ? ? ? ? ? for(var j=0;j
? ? ? ? ? ? ? ? ? ? if(all[j].className==str.substring(1))
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? childElements.push(all[j]);
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? }*/
? ? ? ? ? ? ? ? var temps = this.getClass(str.substring(1), this.elements[i]);
? ? ? ? ? ? ? ? for (var j = 0; j ? ? ? ? ? ? ? ? ? ? childElements.push(temps[j]);
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? default :
? ? ? ? ? ? ? ? var tags=this.elements[i].getElementsByTagName(str);
? ? ? ? ? ? ? ? for(var j=0;j
? ? ? ? ? ? ? ? ? ? childElements.push(tags[j]);
? ? ? ? ? ? ? ? }
? ? ? ? }
? ? }
? ? this.elements=childElements;
? ? return this;
};
//獲取ID節(jié)點
Base.prototype.getId = function (id) {
? ? //返回ID節(jié)點的本身對象
? ? return document.getElementById(id);
};
//獲取元素節(jié)點數(shù)組
Base.prototype.getTagName = function (tag, parentNode) {
? ? var node = null;
? ? var temps = [];
? ? if (parentNode != undefined) {
? ? ? ? node = parentNode;
? ? } else {
? ? ? ? node = document;
? ? }
? ? var tags = node.getElementsByTagName(tag);
? ? for (var i = 0; i ? ? ? ? temps.push(tags[i]);
? ? }
? ? return temps;
};
//class獲取
Base.prototype.getClass=function(className,parentNode)
{
? ? var node=null;
? ? var temps=[];//臨時數(shù)組避免和base.element[]沖突
? ? if(parentNode!=undefined)
? ? {
? ? ? ? node=parentNode;
? ? }
? ? else
? ? {
? ? ? ? node=document;
? ? }
? ? var all=node.getElementsByTagName("*");
? ? for(var i=0;i
? ? ? ? if(all[i].className==className)
? ? ? ? {
? ? ? ? ? ? temps.push(all[i]);//給臨時數(shù)組添加
? ? ? ? }
? ? }
? ? return temps; ?//返回臨時數(shù)組
};
//獲取某個節(jié)點,并且返回Base對象
Base.prototype.eq=function(num)
{
? ? var element=this.elements[num];
? ? this.elements=[];//清空數(shù)組
? ? this.elements[0]=element;//重新賦值
? ? return this; ?//返回如jq的eq()一樣的東西
};
//獲取某個節(jié)點,并且放回這個節(jié)點的對象
Base.prototype.get=function(num)//
{
? ?return this.elements[num];//返回如jq的get()一樣的東西
};
//設(shè)置CSS
Base.prototype.css = function (attr, value) {
? ? for (var i = 0; i ? ? ? ? if (arguments.length == 1) {
? ? ? ? ? ? return getStyle(this.elements[i], attr);//為什么這里需要return呢
? ? ? ? }
? ? ? ? this.elements[i].style[attr] = value;
? ? }
? ? return this;
};
Base.prototype.click=function(fn)
{
? ? for(var i=0;i
? ? ? ? this.elements[i].onclick=fn;
? ? }
? ? return this;
};
//設(shè)置innerHtml 獲取innerHTML
Base.prototype.html=function(value)
{
? ? for(var i=0;i
? ? ? ? if(arguments.length==0)
? ? ? ? {
? ? ? ? ? ? return this.elements[i].innerHTML;
? ? ? ? }
? ? ? ? else
? ? ? ? {
? ? ? ? ? ? this.elements[i].innerHTML=value;
? ? ? ? }
? ? }
? ? return this;
};
//添加class
Base.prototype.addClass=function(className)
{
? ? for(var i=0;i
? ? ? ? if(!hasClass(this.elements[i],className))//判斷是否已經(jīng)有這個class
? ? ? ? {
? ? ? ? ? ? this.elements[i].className+=' '+className;
? ? ? ? }
? ? }
? ? return this;
};
//移出class
Base.prototype.removeClass=function(className) //調(diào)用方法$().getClass("dd").addClass("a").addClass("b").removeClass("b");
{
? ? for(var i=0;i
? ? ? ? if(hasClass(this.elements[i],className))//判斷是否已經(jīng)有這個class
? ? ? ? {
? ? ? ? ? ? this.elements[i].className=this.elements[i].className.replace(new RegExp('(\\s|^)'+className+'(\\s|$)'),'');
? ? ? ? }
? ? }
? ? return this;
};
//添加link或style的css規(guī)則,不常用
Base.prototype.addRule=function(num,selectorText,cssText,position) //調(diào)用方法, $().addRule(0,"body","background:red",0)
{
? ? var sheet=document.styleSheets[num];
? ? if(typeof sheet.insertRule!="undefined")//w3c
? ? {
? ? ? ? sheet.insertRule(selectorText+"{"+cssText+"}",position);
? ? }
? ? else if(typeof ?sheet.addRule!="undefined")//iE
? ? {
? ? ? ? sheet.addRule(selectorText,cssText,position);//sheet.addRule("body","background:red",)
? ? }
};
//移除link或style的css規(guī)則,不常用
Base.prototype.addRule=function(num,index) //調(diào)用方法, ?$().removeRule(0);
{
? ? var sheet=document.styleSheets[num];
? ? if(typeof sheet.deleteRule!="undefined")//w3c
? ? {
? ? ? ? sheet.deleteRule(index);
? ? }
? ? else if(typeof ?sheet.removeRule!="undefined")//iE
? ? {
? ? ? ? sheet.removeRule(index);//sheet.addRule("body","background:red",)
? ? }
};
//設(shè)置hover方法
Base.prototype.hover=function(over,out)
{
? ? for(var i=0;i
? ? ? // ?this.elements[i].onmouseover=over;
? ? ? ?// this.elements[i].onmouseout=out;
? ? ? ? addEvent(this.elements[i],"mouseover",over);
? ? ? ? addEvent(this.elements[i],"mouseout",out)
? ? }
? ? return this;
};
//添加show
Base.prototype.show=function()
{
? ? for(var i=0;i
? ? ? ? this.elements[i].style.display="block"
? ? }
? ? return this;
};
//添加hide
Base.prototype.hide=function()
{
? ? for(var i=0;i
? ? ? ? this.elements[i].style.display="none"
? ? }
? ? return this;
};
//設(shè)置物體居中
Base.prototype.center=function(width,height)
{
? ? var top=(getInner().height-width)/2;
? ? var left=(getInner().width-height)/2;
? ? for(var i=0;i
? ? ? ? this.elements[i].style.top=top+"px";
? ? ? ? this.elements[i].style.left=left+"px";
? ? }
? ? return this;
};
//觸發(fā)瀏覽器窗口事件
Base.prototype.resize = function (fn) {
? ? for(var i=0;i
? ? ? ? var element=this.elements[i];
? ? ? ?/* window.onresize=function()
? ? ? ? {
? ? ? ? ? ? fn();
? ? ? ? ? ? if (element.offsetLeft > getInner().width - element.offsetWidth) {
? ? ? ? ? ? ? ? element.style.left = getInner().width - element.offsetWidth + 'px';
? ? ? ? ? ? }
? ? ? ? ? ? if (element.offsetTop > getInner().height - element.offsetHeight) {
? ? ? ? ? ? ? ? element.style.top = getInner().height - element.offsetHeight + 'px';
? ? ? ? ? ? }
? ? ? ? }*/
? ? ? ? addEvent(window,"resize",function()
? ? ? ? {
? ? ? ? ? ? fn();
? ? ? ? ? ? if (element.offsetLeft > getInner().width - element.offsetWidth) {
? ? ? ? ? ? ? ? element.style.left = getInner().width - element.offsetWidth + 'px';
? ? ? ? ? ? }
? ? ? ? ? ? if (element.offsetTop > getInner().height - element.offsetHeight) {
? ? ? ? ? ? ? ? element.style.top = getInner().height - element.offsetHeight + 'px';
? ? ? ? ? ? }
? ? ? ? })
? ? }
? ? return this;
};
//鎖屏功能
Base.prototype.lock=function()
{
? ? for(var i=0;i
? ? ? ? this.elements[i].style.width=getInner().width+"px";
? ? ? ? this.elements[i].style.height=getInner().height+"px";
? ? ? ? this.elements[i].style.display="block";
? ? ? ? document.documentElement.style.overflow = 'hidden';
? ? ? ? addEvent(window,"scroll",scrollTop);
? ? }
? ? return this;
};
function scrollTop(){
? ? document.documentElement.scrollTop=0;// IE W3C
? ? document.body.scrollTop=0;//火狐
}
Base.prototype.unlock=function()
{
? ? for(var i=0;i
? ? ? ? this.elements[i].style.display="none";
? ? ? ? document.documentElement.style.overflow = 'auto';
? ? ? ? removeEvent(window,"scroll",scrollTop);
? ? }
? ? return this;
};
//插件入口
Base.prototype.extend=function(name,fn)
{
? ? Base.prototype[name]=fn;
};
$().extend("bbb",function(){
? ?alert("123")
});

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

Das Rollenattribut von ARIA wird verwendet, um die Rolle von Webelementen zu definieren und die Zug?nglichkeit zu verbessern. 1. Rollenattribut hilft bei der Unterstützung der Technologie, um die Funktionen von Elementen wie Schaltfl?chen, Navigation usw. zu verstehen. 3. Das Rollenattribut sollte mit dem Elementverhalten übereinstimmen und durch den Test -Tool -Test überprüft werden.

Wie erstelle ich ein Website -Layout? 1. Verwenden Sie HTML -Tags, um die Inhaltsstruktur zu definieren, z. B.,. 2. Kontrollstile und -positionen über CSS unter Verwendung des Boxmodells, des Float- oder Flexbox -Layouts. 3. Optimieren Sie die Leistung, reduzieren Sie HTTP -Anforderungen, verwenden Sie Cache und optimieren Sie Bilder und sorgen Sie für ein reaktionsschnelles Design.

Der Schlüssel, um mit HTML -Standards und Best Practices Schritt zu halten, liegt darin, dies absichtlich zu tun, anstatt ihm blind zu folgen. Befolgen Sie zun?chst die Zusammenfassung oder aktualisieren Sie Protokolle offizieller Quellen wie Whatwg und W3C, verstehen Sie neue Tags (wie) und Attribute und verwenden Sie sie als Verweise, um schwierige Probleme zu l?sen. Zweitens, abonnieren Sie vertrauenswürdige Webentwicklungs-Newsletter und Blogs und verbringen Sie 10-15 Minuten pro Woche, um Updates zu durchsuchen und sich auf tats?chliche Anwendungsf?lle zu konzentrieren, anstatt nur Artikel zu sammeln. Zweitens verwenden Sie Entwickler -Tools und Linter wie HTMLHINT, um die Codestruktur durch sofortiges Feedback zu optimieren. Interagieren Sie schlie?lich mit der Entwicklergemeinschaft, teilen Sie Erfahrungen und lernen Sie die praktischen F?higkeiten anderer Menschen, um die HTML -F?higkeiten kontinuierlich zu verbessern.

Der Grund für die Verwendung von Tags ist die Verbesserung der semantischen Struktur und Zug?nglichkeit von Webseiten, den Bildschirmlesern und Suchmaschinen einfacher, Seiteninhalte zu verstehen und Benutzer schnell auf Kerninhalte zu springen. Hier sind die Schlüsselpunkte: 1. Jede Seite sollte nur ein Element enthalten; 2. Es sollte keinen Inhalt enthalten, der über Seiten (z. B. Seitenleisten oder Fu?zeilen) wiederholt wird. 3.. Es kann in Verbindung mit ARIA -Eigenschaften verwendet werden, um die Zug?nglichkeit zu verbessern. Normalerweise befindet sich nach und zuvor und wird verwendet, um einzigartige Seiteninhalte wie Artikel, Formulare oder Produktdetails einzuwickeln und sollte in oder in oder in vermieden werden. Um die Zug?nglichkeit zu verbessern, k?nnen Aria-markierte oder ARIA-Label verwendet werden, um Teile klar zu identifizieren.

Um ein grundlegendes HTML -Dokument zu erstellen, müssen Sie zun?chst seine Grundstruktur verstehen und Code in einem Standardformat schreiben. 1. Verwenden Sie den Deklarationsdokumenttyp am Anfang; 2. Verwenden Sie das Tag, um den gesamten Inhalt zu wickeln. 3. Inklusive und zwei Hauptteile darin, die zum Speichern von Metadaten wie Titeln, Stylesheet-Links usw. verwendet werden und benutzerfreundliche Inhalte wie Titel, Abs?tze, Bilder und Links enthalten; 4. Speichern Sie die Datei im .html -Format und ?ffnen Sie den Betrachtungseffekt im Browser. 5. Dann k?nnen Sie nach und nach weitere Elemente hinzufügen, um den Seiteninhalt zu bereichern. Befolgen Sie diese Schritte, um schnell eine grundlegende Webseite zu erstellen.

Verwenden Sie zum Erstellen eines HTML -Kontrollk?stchens das Typ -Attribut vom Typ, um das Element des Kontrollk?stchens festzulegen. 1. Die Grundstruktur enth?lt ID-, Name- und Etiketten -Tags, um sicherzustellen, dass das Klicken auf Text Optionen wechseln kann. 2. Mehrere zugeh?rige Kontrollk?stchen sollten denselben Namen, aber unterschiedliche Werte verwenden und sie mit Fieldset einwickeln, um die Zug?nglichkeit zu verbessern. 3. Ausblenden native Steuerelemente beim Anpassen von Stilen und verwenden Sie CSS, um alternative Elemente zu entwerfen und gleichzeitig die vollst?ndigen Funktionen beizubehalten. 4. Stellen Sie sicher, dass Sie die Verfügbarkeit sorgen, Etiketten koppeln, die Tastaturnavigation unterstützen und nicht auf visuelle Eingabeaufforderungen angewiesen sind. Die obigen Schritte k?nnen den Entwicklern dabei helfen, Checkbox -Komponenten mit funktionaler und ?sthetischer Art korrekt zu implementieren.

HtmltagsareessentialStructuringWebpages.theydedeContentandLayoutuSusingLebrackets, OftinpairsLikeand, mit somebeinsself-closen-like.htmltagsarecrucialForCreating-strukturiert, zug?nglich und seo-frantlywebppages.

Um die Gr??e von HTML -Dateien zu verringern, müssen Sie redundante Code bereinigen, den Inhalt komprimieren und die Struktur optimieren. 1. L?schen Sie ungenutzte Tags, Kommentare und zus?tzliche Rohlinge, um das Volumen zu verringern. 2. Verschieben Sie das Inline -CSS und JavaScript in externe Dateien und verschmelzen Sie mehrere Skripte oder Stilbl?cke. 3.. Vereinfachen Sie die Beschriftungssyntax ohne die Parsen zu beeinflussen, z. 4. Aktivieren Sie nach der Reinigung serverseitige Komprimierungstechnologien wie Gzip oder Brotli, um das übertragungsvolumen weiter zu reduzieren. Diese Schritte k?nnen die Seitenladungsleistung erheblich verbessern, ohne die Funktionalit?t zu beeintr?chtigen.
