喜欢说两句的猫依漓漓 發表於 2019-6-6 07:28:00

dom&JavaScript&Jquery

<p></p><div class="toc"><div class="toc-container-header">目录</div><ul><li>dom&amp;JavaScript&amp;Jquery<ul><li><ul><li>建节点</li><li>添加节点</li><li>删除节点:</li><li>替换节点:</li><li>属性节点</li><li>获取值操作</li><li>class的操作</li><li><strong>指定CSS操作</strong></li></ul></li><li>操作节点</li><li>获取input用户输入</li><li>操作标签类</li><li>事件<ul><li>常用事件</li><li>绑定方式:</li></ul></li><li>点击事件</li><li>获取焦点事件</li><li>定时器案例</li><li>省市联动</li></ul></li><li>jquery<ul><li>jquery初识</li><li>jquery基本选择器<ul><li>基本选择器</li><li><strong>层级选择器:</strong></li></ul></li><li>基本筛选器</li><li>jquery操作类属性</li><li>表单筛选器<ul><li><strong>属性选择器:</strong></li><li><strong>表单筛选器</strong>:</li></ul></li><li>筛选器方法</li><li>链式操作</li><li>find方法</li><li>左侧菜单</li><li>获取位置</li><li>滚动条</li><li>小火箭示例</li><li>尺寸</li><li>给标签设置文本值</li><li>获取用户输入框的文本值</li><li>注意</li></ul></li></ul></div><p></p>
<h1 id="domjavascriptjquery">dom&amp;JavaScript&amp;Jquery</h1>
<h3 id="建节点">建节点</h3>
<p>语法:</p>
<p>createElement(标签名)</p>
<p>示例:</p>
<pre><code>var divEle = document.createElement("div");
</code></pre>
<h3 id="添加节点">添加节点</h3>
<p>语法:</p>
<p>追加一个子节点(作为最后的子节点)</p>
<p>somenode.appendChild(newnode);</p>
<p>把增加的节点放到某个节点的前边。</p>
<p>somenode.insertBefore(newnode,某个节点);</p>
<p>示例:</p>
<pre><code>var imgEle=document.createElement("img");
imgEle.setAttribute("src", "http://image11.m1905.cn/uploadfile/s2010/0205/20100205083613178.jpg");
var d1Ele = document.getElementById("d1");
d1Ele.appendChild(imgEle);
</code></pre>
<h3 id="删除节点">删除节点:</h3>
<p>语法:</p>
<p>获得要删除的元素,通过父元素调用该方法删除。</p>
<p>somenode.removeChild(要删除的节点)</p>
<h3 id="替换节点">替换节点:</h3>
<p>语法:</p>
<p>somenode.replaceChild(newnode, 某个节点);</p>
<h3 id="属性节点">属性节点</h3>
<p>获取文本节点的值:</p>
<pre><code>var divEle = document.getElementById("d1")
divEle.innerText
divEle.innerHTML
</code></pre>
<p>设置文本节点的值:</p>
<pre><code>var divEle = document.getElementById("d1")
divEle.innerText="1"
divEle.innerHTML="&lt;p&gt;2&lt;/p&gt;"
</code></pre>
<p><strong>attribute操作</strong></p>
<pre><code>var divEle = document.getElementById("d1");
divEle.setAttribute("age","18")
divEle.getAttribute("age")
divEle.removeAttribute("age")

// 自带的属性还可以直接.属性名来获取和设置
imgEle.src
imgEle.src="..."
</code></pre>
<h3 id="获取值操作">获取值操作</h3>
<p>语法:</p>
<p>elementNode.value</p>
<p>适用于以下标签:</p>
<ul>
<li>.input</li>
<li>.select</li>
<li>.textarea</li>
</ul>
<pre><code>var iEle = document.getElementById("i1");
console.log(iEle.value);
var sEle = document.getElementById("s1");
console.log(sEle.value);
var tEle = document.getElementById("t1");
console.log(tEle.value);
</code></pre>
<h3 id="class的操作">class的操作</h3>
<pre><code>className获取所有样式类名(字符串)

classList.remove(cls)删除指定类
classList.add(cls)添加类
classList.contains(cls)存在返回true,否则返回false
classList.toggle(cls)存在就删除,否则添加
</code></pre>
<h3 id="指定css操作"><strong>指定CSS操作</strong></h3>
<pre><code>obj.style.backgroundColor="red"
</code></pre>
<p>JS操作CSS属性的规律:</p>
<p>1.对于没有中横线的CSS属性一般直接使用style.属性名即可。如:</p>
<pre><code>obj.style.margin
obj.style.width
obj.style.left
obj.style.position
</code></pre>
<p>2.对含有中横线的CSS属性,将中横线后面的第一个字母换成大写即可。如:</p>
<pre><code>obj.style.marginTop
obj.style.borderLeftWidth
obj.style.zIndex
obj.style.fontFamily
</code></pre>
<h2 id="操作节点">操作节点</h2>
<pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;title&gt;Title&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;span&gt;div上面的span&lt;/span&gt;
&lt;div&gt;div
    &lt;p&gt;div&gt;p&lt;/p&gt;
    &lt;span id="s1"&gt;div&gt;span&lt;/span&gt;
    &lt;p&gt;div&gt;p
      &lt;span&gt;div&gt;p&gt;span&lt;/span&gt;
    &lt;/p&gt;

&lt;/div&gt;
&lt;span&gt;div+span&lt;/span&gt;
&lt;/body&gt;
&lt;/html&gt;
</code></pre>
<h2 id="获取input用户输入">获取input用户输入</h2>
<pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;title&gt;Title&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;input type="text"&gt;

&lt;textarea name="" id="t1" cols="30" rows="10"&gt;&lt;/textarea&gt;
&lt;/body&gt;
&lt;/html&gt;
</code></pre>
<h2 id="操作标签类">操作标签类</h2>
<pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;title&gt;Title&lt;/title&gt;
    &lt;style&gt;
      .c1 {
            width: 400px;
            height: 400px;
            border-radius: 50%;
            border: 3px solid black;
      }
      .bg_red {
            background-color: red;
      }
      .bg_green {
            background-color: green;
      }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div class="c1 bg_red bg_green"&gt;&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
</code></pre>
<h2 id="事件">事件</h2>
<h3 id="常用事件">常用事件</h3>
<pre><code>onclick      当用户点击某个对象时调用的事件句柄。
ondblclick   当用户双击某个对象时调用的事件句柄。

onfocus      元素获得焦点。               // 练习:输入框
onblur         元素失去焦点。               应用场景:用于表单验证,用户离开某个输入框时,代表已经输入完了,我们可以对它进行验证.
onchange       域的内容被改变。             应用场景:通常用于表单元素,当元素内容被改变时触发.(select联动)

onkeydown      某个键盘按键被按下。          应用场景: 当用户在最后一个输入框按下回车按键时,表单提交.
onkeypress   某个键盘按键被按下并松开。
onkeyup      某个键盘按键被松开。
onload         一张页面或一幅图像完成加载。
onmousedown    鼠标按钮被按下。
onmousemove    鼠标被移动。
onmouseout   鼠标从某元素移开。
onmouseover    鼠标移到某元素之上。

onselect      在文本框中的文本被选中时发生。
onsubmit      确认按钮被点击,使用的对象是form。
</code></pre>
<h3 id="绑定方式">绑定方式:</h3>
<p>方式一:</p>
<pre><code>&lt;div id="d1" onclick="changeColor(this);"&gt;点我&lt;/div&gt;
&lt;script&gt;
function changeColor(ths) {
    ths.style.backgroundColor="green";
}
&lt;/script&gt;
</code></pre>
<p>注意:</p>
<p>this是实参,表示触发事件的当前元素。</p>
<p>函数定义过程中的ths为形参。</p>
<p>方式二:</p>
<pre><code>&lt;div id="d2"&gt;点我&lt;/div&gt;
&lt;script&gt;
var divEle2 = document.getElementById("d2");
divEle2.onclick=function () {
    this.innerText="呵呵";
}
&lt;/script&gt;
</code></pre>
<h2 id="点击事件">点击事件</h2>
<pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;title&gt;Title&lt;/title&gt;
    &lt;style&gt;
      .c1 {
            width: 400px;
            height: 400px;
            border-radius: 50%;
            border: 3px solid black;
      }
      .bg_red {
            background-color: red;
      }
      .bg_green {
            background-color: green;
      }

    &lt;/style&gt;

&lt;/head&gt;
&lt;body&gt;
&lt;div class="c1 bg_red bg_green"&gt;&lt;/div&gt;
&lt;button id="b1"&gt;给你戴帽子&lt;/button&gt;
&lt;img src="1.png" alt="" id="d1"&gt;


&lt;script&gt;
    let iEle = document.getElementById('d1');
    iEle.onclick = function () {
      alert(123)
    };


    // 先找到你想绑定事件的那个标签
    var b1ELe = document.getElementById('b1');
    // 给这个标签对象绑定相应的事件
    b1ELe.onclick = function () {
      // 找到事件影响的标签对象
      let dEle = document.getElementsByClassName('c1');
      dEle.classList.toggle('bg_green')
    }

&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
</code></pre>
<h2 id="获取焦点事件">获取焦点事件</h2>
<pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;title&gt;Title&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;input type="text" value="618大促" id="i1"&gt;

&lt;script&gt;
    let iEle=document.getElementById('i1');
    //获取焦点
    iEle.onfocus = function (){
      iEle.value = ''
    }
    //失去焦点
    iEle.onblur = function() {
      iEle.value='有钱就买mac'
    }

&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
</code></pre>
<h2 id="定时器案例">定时器案例</h2>
<pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;title&gt;Title&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;input type="text"id="d1"&gt;
&lt;button id="b1"&gt;开始&lt;/button&gt;
&lt;button id="b2"&gt;结束&lt;/button&gt;

&lt;/body&gt;
&lt;/html&gt;
</code></pre>
<ul>
<li>检查中输入(输入框中直接可以显示内容)</li>
</ul>
<p>var iEle = document.getElementById('d1');<br>
undefined<br>
var cTime=new Date();<br>
undefined<br>
iEle.value=cTime.toLocaleString();<br>
"2019/6/3 下午4:36:55"</p>
<p>![](C:\Users\鸭鸭\Pictures\Saved Pictures\批注 2019-06-03 164434.png)</p>
<pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;title&gt;Title&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;label for=""&gt;                                              #要加入label才能显示
    &lt;input type="text"id="d1"&gt;
&lt;/label&gt;
&lt;button id="b1"&gt;开始&lt;/button&gt;
&lt;button id="b2"&gt;结束&lt;/button&gt;
&lt;script&gt;
    var iEle=document.getElementById('d1');
    var showtime=function(){                  
      var cTime= new Date();
      iEle.value= cTime.toLocaleString();
    };
    showtime()
&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
</code></pre>
<pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;title&gt;Title&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;input type="text"id="d1"&gt;
&lt;button id="b1"&gt;开始&lt;/button&gt;
&lt;button id="b2"&gt;结束&lt;/button&gt;
&lt;script&gt;
    var iEle=document.getElementById('d1');   #没有调用函数,直接也可以显示,input不用加label
    var cTime= new Date();
    iEle.value= cTime.toLocaleString();

&lt;/script&gt;
&lt;/body&gt;
</code></pre>
<pre><code class="language-html">最终版
!!!!!!!!!!

&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;title&gt;Title&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;input type="text" id="d1"&gt;
&lt;button id="b1"&gt;开始&lt;/button&gt;
&lt;button id="b2"&gt;结束&lt;/button&gt;

&lt;script&gt;
    // 定义一个存储定时器的全局变量
    var flag;
    // 先获取代码中需要用到的一些固定标签对象
    var b1Ele = document.getElementById('b1');
    var iEle = document.getElementById('d1');
    var b2Ele = document.getElementById('b2');
    // 定义一个展示时间的函数
    var showTime = function(){
      // 获取当前时间
      var cTime = new Date();
      iEle.value = cTime.toLocaleString()
    };
    // 给b1标签绑定点击事件
    b1Ele.onclick = function () {      #事物后面一般写函数而不是直接写js语句
      // 先判断flag是否已经指代了一个定时器
      if (!flag){
            flag = setInterval(showTime,1000)
      }
    };

    b2Ele.onclick = function () {
      // 取消定时器
      clearInterval(flag);
      // 将标志位手动置为布尔值为false的值即可
      flag = null;
    }
&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
</code></pre>
<h2 id="省市联动">省市联动</h2>
<pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;title&gt;Title&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;select name="" id="d1"&gt;

&lt;/select&gt;

&lt;select name="" id="d2"&gt;

&lt;/select&gt;


&lt;script&gt;
    // 先获取需要操作的标签对象
    let proEle = document.getElementById('d1');
    let cityEle = document.getElementById('d2');
    let data = {"河北省": ["廊坊", "邯郸"], "北京": ["朝阳区", "海淀区"], "山东": ["威海市", "烟台市"]};
    // 将所有的省渲染到proEle标签内部for循环获取所有的省
    for (let pro in data){
      // 创建option标签
      let opEle = document.createElement('option');
      // 给option标签设置文本值
      opEle.innerText = pro;
      // 将生成的option标签添加到proEle中
      proEle.appendChild(opEle)
    }
    proEle.onchange = function () {
      // 先清空cityEle标签内所有的内容
      cityEle.innerHTML = '';
      // 获取用户选择的省 根据省拿到对应的市
      let choice_pro = proEle.value;
      let cityList = data;
      // for循环创建option标签添加到cityEle标签内
      for (let i=0;i&lt;cityList.length;i++){
            // 创建option标签并添加文本
            let cEle = document.createElement('option');
            // 给option标签设置文本值
            cEle.innerText = cityList;
            // 将生成的option标签添加到proEle中
            cityEle.appendChild(cEle)
      }
    }

&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
</code></pre>
<h1 id="jquery">jquery</h1>
<h2 id="jquery初识">jquery初识</h2>
<p><strong>jQuery对象</strong>就是通过jQuery包装DOM对象后产生的对象。<strong>jQuery对象</strong>是 jQuery独有的。如果一个对象是 <strong>jQuery对象</strong>,那么它就可以使用<strong>jQuery</strong>里的方法:例如$(“#i1”).html()。</p>
<p><code>$("#i1").html()</code>的意思是:获取id值为 <code>i1</code>的元素的html代码。其中 <code>html()</code>是jQuery里的方法。</p>
<p>相当于: <code>document.getElementById("i1").innerHTML;</code></p>
<p>虽然 <code>jQuery对象</code>是包装 <code>DOM对象</code>后产生的,但是 <code>jQuery对象</code>无法使用 <code>DOM对象</code>的任何方法,同理 <code>DOM对象</code>也没不能使用 <code>jQuery</code>里的方法。</p>
<p>一个约定,我们在声明一个jQuery对象变量的时候在变量名前面加上$:</p>
<pre><code>var $variable = jQuery对像
var variable = DOM对象
$variable//jQuery对象转成DOM对象
</code></pre>
<h2 id="jquery基本选择器">jquery基本选择器</h2>
<h3 id="基本选择器">基本选择器</h3>
<p><strong>id选择器:</strong></p>
<pre><code>$("#id")
</code></pre>
<p><strong>标签选择器:</strong></p>
<pre><code>$("tagName")
</code></pre>
<p><strong>class选择器:</strong></p>
<pre><code>$(".className")
</code></pre>
<p><strong>配合使用:</strong></p>
<pre><code>$("div.c1")// 找到有c1 class类的div标签
</code></pre>
<p><strong>所有元素选择器:</strong></p>
<pre><code>$("*")
</code></pre>
<p><strong>组合选择器:</strong></p>
<pre><code>$("#id, .className, tagName")
</code></pre>
<h3 id="层级选择器"><strong>层级选择器:</strong></h3>
<p><em>x和y可以为任意选择器</em></p>
<pre><code>$("x y");// x的所有后代y(子子孙孙)
$("x &gt; y");// x的所有儿子y(儿子)
$("x + y")// 找到所有紧挨在x后面的y
$("x ~ y")// x之后所有的兄弟y
</code></pre>
<pre><code class="language-html">可供测试
&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;title&gt;Title&lt;/title&gt;
    &lt;script src="jQuery-3.4.1.js"&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;span class="span"&gt;div上面的span标签&lt;/span&gt;
&lt;div id="d1"&gt;div
    &lt;p&gt;div&gt;p
      &lt;span&gt;div&gt;p&gt;span&lt;/span&gt;
    &lt;/p&gt;
    &lt;span id="d3"&gt;div&gt;span&lt;/span&gt;
&lt;/div&gt;
&lt;span class="c1"&gt;span&lt;/span&gt;
&lt;/body&gt;
&lt;/html&gt;
</code></pre>
<h2 id="基本筛选器">基本筛选器</h2>
<pre><code>first // 第一个
:last // 最后一个
:eq(index)// 索引等于index的那个元素
:even // 匹配所有索引值为偶数的元素,从 0 开始计数
:odd // 匹配所有索引值为奇数的元素,从 0 开始计数
:gt(index)// 匹配所有大于给定索引值的元素
:lt(index)// 匹配所有小于给定索引值的元素
:not(元素选择器)// 移除所有满足not条件的标签
:has(元素选择器)// 选取所有包含一个或多个标签在其内的标签(指的是从后代元素找)
</code></pre>
<p><strong>例子:</strong></p>
<pre><code>$("div:has(h1)")// 找到所有后代中有h1标签的div标签
$("div:has(.c1)")// 找到所有后代中有c1样式类的div标签
$("li:not(.c1)")// 找到所有不包含c1样式类的li标签
$("li:not(:has(a))")// 找到所有后代中不含a标签的li标签
</code></pre>
<pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;title&gt;Title&lt;/title&gt;
    &lt;script src="jQuery-3.4.1.js"&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;ul&gt;
    &lt;li id="1"&gt;书籍1&lt;/li&gt;
    &lt;li&gt;书籍2&lt;/li&gt;
    &lt;li id="3"&gt;书籍3&lt;/li&gt;
    &lt;li&gt;书籍4&lt;/li&gt;
    &lt;li id="5"&gt;书籍5&lt;/li&gt;
&lt;/ul&gt;

&lt;/body&gt;
&lt;/html&gt;
</code></pre>
<h2 id="jquery操作类属性">jquery操作类属性</h2>
<pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;title&gt;Title&lt;/title&gt;
    &lt;script src="jQuery-3.4.1.js"&gt;&lt;/script&gt;
    &lt;style&gt;
      .c1 {
            width: 400px;
            height: 400px;
            border-radius: 50%;
            border: 3px solid black;
      }
      .bg_red {
            background-color: red;
      }
      .bg_green {
            background-color: green;
      }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div class="c1 bg_red bg_green"&gt;&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
</code></pre>
<h2 id="表单筛选器">表单筛选器</h2>
<h3 id="属性选择器"><strong>属性选择器:</strong></h3>
<pre><code>
// 属性等于
// 属性不等于
</code></pre>
<p><strong>例子:</strong></p>
<pre><code>// 示例
&lt;input type="text"&gt;
&lt;input type="password"&gt;
&lt;input type="checkbox"&gt;
$("input");// 取到checkbox类型的input标签
$("input");// 取到类型不是text的input标签
</code></pre>
<h3 id="表单筛选器-1"><strong>表单筛选器</strong>:</h3>
<pre><code>:text
:password
:file
</code></pre>
<pre><code>:radio
:checkbox

:submit
:reset
:button
</code></pre>
<p><strong>例子:</strong></p>
<pre><code>$(":checkbox")// 找到所有的checkbox
</code></pre>
<p>表单对象属性:</p>
<pre><code>:enabled
:disabled
:checked
:selected
</code></pre>
<p><strong>例子:</strong></p>
<p>找到可用的input标签</p>
<pre><code>&lt;form&gt;
&lt;input name="email" disabled="disabled" /&gt;
&lt;input name="id" /&gt;
&lt;/form&gt;

$("input:enabled")// 找到可用的input标签
</code></pre>
<p>找到被选中的option:</p>
<pre><code>&lt;select id="s1"&gt;
&lt;option value="beijing"&gt;北京市&lt;/option&gt;
&lt;option value="shanghai"&gt;上海市&lt;/option&gt;
&lt;option selected value="guangzhou"&gt;广州市&lt;/option&gt;
&lt;option value="shenzhen"&gt;深圳市&lt;/option&gt;
&lt;/select&gt;

$(":selected")// 找到所有被选中的option
</code></pre>
<pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;title&gt;Title&lt;/title&gt;
    &lt;script src="jQuery-3.4.1.js"&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;form action=""&gt;
    &lt;p&gt;&lt;input type="text"&gt;&lt;/p&gt;
    &lt;p&gt;&lt;input type="password"&gt;&lt;/p&gt;
    &lt;p&gt;&lt;input type="date"&gt;&lt;/p&gt;
    &lt;p&gt;&lt;input type="radio"&gt;&lt;/p&gt;
    &lt;p&gt;&lt;input type="checkbox" name="hobby"&gt;篮球&lt;/p&gt;
    &lt;p&gt;&lt;input type="checkbox" name="hobby"&gt;足球&lt;/p&gt;
    &lt;p&gt;&lt;input type="checkbox" name="hobby" checked&gt;双色球&lt;/p&gt;

    &lt;select name="" id=""&gt;
      &lt;option value=""&gt;xxx&lt;/option&gt;
      &lt;option value="" selected&gt;yyy&lt;/option&gt;
      &lt;option value=""&gt;zzz&lt;/option&gt;
    &lt;/select&gt;
    &lt;p&gt;&lt;input type="file"&gt;&lt;/p&gt;
    &lt;p&gt;&lt;input type="button"&gt;&lt;/p&gt;
    &lt;p&gt;&lt;input type="submit"&gt;&lt;/p&gt;
    &lt;p&gt;&lt;input type="reset"&gt;&lt;/p&gt;

&lt;/form&gt;
&lt;/body&gt;
&lt;/html&gt;
</code></pre>
<h2 id="筛选器方法">筛选器方法</h2>
<p>下一个元素:</p>
<pre><code>$("#id").next()
$("#id").nextAll()
$("#id").nextUntil("#i2")
</code></pre>
<p>上一个元素:</p>
<pre><code>$("#id").prev()
$("#id").prevAll()
$("#id").prevUntil("#i2")
</code></pre>
<p>父亲元素:</p>
<pre><code>$("#id").parent()
$("#id").parents()// 查找当前元素的所有的父辈元素
$("#id").parentsUntil() // 查找当前元素的所有的父辈元素,直到遇到匹配的那个元素为止。
</code></pre>
<p>儿子和兄弟元素:</p>
<pre><code>$("#id").children();// 儿子们
$("#id").siblings();// 兄弟们
</code></pre>
<p>查找</p>
<p>搜索所有与指定表达式匹配的元素。这个函数是找出正在处理的元素的后代元素的好方法。</p>
<pre><code>$("div").find("p")
</code></pre>
<p>等价于$("div p")</p>
<p>筛选</p>
<p>筛选出与指定表达式匹配的元素集合。这个方法用于缩小匹配的范围。用逗号分隔多个表达式。</p>
<pre><code>$("div").filter(".c1")// 从结果集中过滤出有c1样式类的
</code></pre>
<p>等价于 $("div.c1")</p>
<p>补充:</p>
<pre><code>.first() // 获取匹配的第一个元素
.last() // 获取匹配的最后一个元素
.not() // 从匹配元素的集合中删除与指定表达式匹配的元素
.has() // 保留包含特定后代的元素,去掉那些不含有指定后代的元素。
.eq() // 索引值等于指定值的元素
</code></pre>
<pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;title&gt;Title&lt;/title&gt;
    &lt;script src="jQuery-3.4.1.js"&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;span&gt;我是div上面的span&lt;/span&gt;
&lt;div&gt;我是div
    &lt;span id="s1"&gt;我是div里面的第一个span&lt;/span&gt;
    &lt;p id="p1"&gt;我是div里面的p
      &lt;a href=""&gt;我是div里面的p里面的a&lt;/a&gt;
    &lt;/p&gt;
    &lt;span id="s2"&gt;我们div里面的第二个span&lt;/span&gt;
    &lt;span id="s3"&gt;我们div里面的第二个span&lt;/span&gt;
    &lt;span id="s4"&gt;我们div里面的第二个span&lt;/span&gt;
&lt;/div&gt;
&lt;span&gt;我是div下面的第一个span&lt;/span&gt;
&lt;span&gt;我是div下面的第二个span&lt;/span&gt;

&lt;/body&gt;
&lt;/html&gt;
</code></pre>
<h2 id="链式操作">链式操作</h2>
<pre><code class="language-HTML">&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;title&gt;Title&lt;/title&gt;
    &lt;script src="jquert-3.4.1.js"&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;p id="p1"&gt;p1&lt;/p&gt;
&lt;p&gt;p2&lt;/p&gt;
&lt;script&gt;

&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
</code></pre>
<h2 id="find方法">find方法</h2>
<pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;title&gt;Title&lt;/title&gt;
    &lt;script src="jQuery-3.4.1.js"&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div&gt;
    &lt;span&gt;&lt;/span&gt;
    &lt;p&gt;&lt;a href=""&gt;&lt;/a&gt;&lt;/p&gt;
    &lt;span&gt;&lt;/span&gt;
    &lt;p&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
</code></pre>
<h2 id="左侧菜单">左侧菜单</h2>
<pre><code class="language-HTML">&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
&lt;meta charset="UTF-8"&gt;
&lt;meta http-equiv="x-ua-compatible" content="IE=edge"&gt;
&lt;meta name="viewport" content="width=device-width, initial-scale=1"&gt;
&lt;title&gt;左侧菜单示例&lt;/title&gt;
&lt;style&gt;
    .left {
      position: fixed;
      left: 0;
      top: 0;
      width: 20%;
      height: 100%;
      background-color: rgb(47, 53, 61);
    }

    .right {
      width: 80%;
      height: 100%;
    }

    .menu {
      color: white;
    }

    .title {
      text-align: center;
      padding: 10px 15px;
      border-bottom: 1px solid #23282e;
    }

    .items {
      background-color: #181c20;

    }
    .item {
      padding: 5px 10px;
      border-bottom: 1px solid #23282e;
    }

    .hide {
      display: none;
    }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div class="left"&gt;
&lt;div class="menu"&gt;
    &lt;div class="item"&gt;
      &lt;div class="title"&gt;菜单一&lt;/div&gt;
      &lt;div class="items"&gt;
      &lt;div class="item"&gt;111&lt;/div&gt;
      &lt;div class="item"&gt;222&lt;/div&gt;
      &lt;div class="item"&gt;333&lt;/div&gt;
    &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="item"&gt;
      &lt;div class="title"&gt;菜单二&lt;/div&gt;
      &lt;div class="items hide"&gt;
      &lt;div class="item"&gt;111&lt;/div&gt;
      &lt;div class="item"&gt;222&lt;/div&gt;
      &lt;div class="item"&gt;333&lt;/div&gt;
    &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="item"&gt;
      &lt;div class="title"&gt;菜单三&lt;/div&gt;
      &lt;div class="items hide"&gt;
      &lt;div class="item"&gt;111&lt;/div&gt;
      &lt;div class="item"&gt;222&lt;/div&gt;
      &lt;div class="item"&gt;333&lt;/div&gt;
    &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="right"&gt;&lt;/div&gt;
&lt;script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"&gt;&lt;/script&gt;

&lt;script&gt;
$(".title").click(function (){// jQuery绑定事件
    // 隐藏所有class里有.items的标签
    // $(".items").addClass("hide");//批量操作
    // $(this).next().removeClass("hide");

    // jQuery链式操作
    $(this).next().removeClass('hide').parent().siblings().find('.items').addClass('hide')
});
&lt;/script&gt;

左侧菜单栏
</code></pre>
<h2 id="获取位置">获取位置</h2>
<pre><code class="language-HTML">&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;title&gt;Title&lt;/title&gt;
    &lt;script src="jQuery-3.4.1.js"&gt;&lt;/script&gt;
    &lt;style&gt;
      #p1 {
            position: relative;
            border: 3px solid black;
      }
      #p2 {
            position: absolute;
            top: 100px;
            left: 100px;
            border: 3px solid red;
      }

    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div id="p1"&gt;ppp&lt;p id="p2"&gt;ppp222&lt;/p&gt;&lt;/div&gt;

&lt;/body&gt;
&lt;/html&gt;
</code></pre>
<h2 id="滚动条">滚动条</h2>
<pre><code class="language-HTML">&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;title&gt;Title&lt;/title&gt;
    &lt;script src="jQuery-3.4.1.js"&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div style="height: 1000px;background-color: red"&gt;&lt;/div&gt;
&lt;div style="height: 1000px;background-color: green"&gt;&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
</code></pre>
<h2 id="小火箭示例">小火箭示例</h2>
<pre><code class="language-HTML">&lt;!DOCTYPE html&gt;
&lt;html lang="zh-CN"&gt;
&lt;head&gt;
&lt;meta charset="UTF-8"&gt;
&lt;meta http-equiv="x-ua-compatible" content="IE=edge"&gt;
&lt;meta name="viewport" content="width=device-width, initial-scale=1"&gt;
&lt;title&gt;位置相关示例之返回顶部&lt;/title&gt;
&lt;style&gt;
    .c1 {
      width: 100px;
      height: 200px;
      background-color: red;
    }

    .c2 {
      height: 50px;
      width: 50px;

      position: fixed;
      bottom: 15px;
      right: 15px;
      background-color: #2b669a;
    }
    .hide {
      display: none;
    }
    .c3 {
      height: 100px;
    }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;button id="b1" class="btn btn-default"&gt;点我&lt;/button&gt;
&lt;div class="c1"&gt;&lt;/div&gt;
&lt;div class="c3"&gt;1&lt;/div&gt;
&lt;div class="c3"&gt;2&lt;/div&gt;
&lt;div class="c3"&gt;3&lt;/div&gt;
&lt;div class="c3"&gt;4&lt;/div&gt;
&lt;div class="c3"&gt;5&lt;/div&gt;
&lt;div class="c3"&gt;6&lt;/div&gt;
&lt;div class="c3"&gt;7&lt;/div&gt;
&lt;div class="c3"&gt;8&lt;/div&gt;
&lt;div class="c3"&gt;9&lt;/div&gt;
&lt;div class="c3"&gt;10&lt;/div&gt;
&lt;div class="c3"&gt;11&lt;/div&gt;
&lt;div class="c3"&gt;12&lt;/div&gt;
&lt;div class="c3"&gt;13&lt;/div&gt;
&lt;div class="c3"&gt;14&lt;/div&gt;
&lt;div class="c3"&gt;15&lt;/div&gt;
&lt;div class="c3"&gt;16&lt;/div&gt;
&lt;div class="c3"&gt;17&lt;/div&gt;
&lt;div class="c3"&gt;18&lt;/div&gt;
&lt;div class="c3"&gt;19&lt;/div&gt;
&lt;div class="c3"&gt;20&lt;/div&gt;
&lt;div class="c3"&gt;21&lt;/div&gt;
&lt;div class="c3"&gt;22&lt;/div&gt;
&lt;div class="c3"&gt;23&lt;/div&gt;
&lt;div class="c3"&gt;24&lt;/div&gt;
&lt;div class="c3"&gt;25&lt;/div&gt;
&lt;div class="c3"&gt;26&lt;/div&gt;
&lt;div class="c3"&gt;27&lt;/div&gt;
&lt;div class="c3"&gt;28&lt;/div&gt;
&lt;div class="c3"&gt;29&lt;/div&gt;
&lt;div class="c3"&gt;30&lt;/div&gt;
&lt;div class="c3"&gt;31&lt;/div&gt;
&lt;div class="c3"&gt;32&lt;/div&gt;
&lt;div class="c3"&gt;33&lt;/div&gt;
&lt;div class="c3"&gt;34&lt;/div&gt;
&lt;div class="c3"&gt;35&lt;/div&gt;
&lt;div class="c3"&gt;36&lt;/div&gt;
&lt;div class="c3"&gt;37&lt;/div&gt;
&lt;div class="c3"&gt;38&lt;/div&gt;
&lt;div class="c3"&gt;39&lt;/div&gt;
&lt;div class="c3"&gt;40&lt;/div&gt;
&lt;div class="c3"&gt;41&lt;/div&gt;
&lt;div class="c3"&gt;42&lt;/div&gt;
&lt;div class="c3"&gt;43&lt;/div&gt;
&lt;div class="c3"&gt;44&lt;/div&gt;
&lt;div class="c3"&gt;45&lt;/div&gt;
&lt;div class="c3"&gt;46&lt;/div&gt;
&lt;div class="c3"&gt;47&lt;/div&gt;
&lt;div class="c3"&gt;48&lt;/div&gt;
&lt;div class="c3"&gt;49&lt;/div&gt;
&lt;div class="c3"&gt;50&lt;/div&gt;
&lt;div class="c3"&gt;51&lt;/div&gt;
&lt;div class="c3"&gt;52&lt;/div&gt;
&lt;div class="c3"&gt;53&lt;/div&gt;
&lt;div class="c3"&gt;54&lt;/div&gt;
&lt;div class="c3"&gt;55&lt;/div&gt;
&lt;div class="c3"&gt;56&lt;/div&gt;
&lt;div class="c3"&gt;57&lt;/div&gt;
&lt;div class="c3"&gt;58&lt;/div&gt;
&lt;div class="c3"&gt;59&lt;/div&gt;
&lt;div class="c3"&gt;60&lt;/div&gt;
&lt;div class="c3"&gt;61&lt;/div&gt;
&lt;div class="c3"&gt;62&lt;/div&gt;
&lt;div class="c3"&gt;63&lt;/div&gt;
&lt;div class="c3"&gt;64&lt;/div&gt;
&lt;div class="c3"&gt;65&lt;/div&gt;
&lt;div class="c3"&gt;66&lt;/div&gt;
&lt;div class="c3"&gt;67&lt;/div&gt;
&lt;div class="c3"&gt;68&lt;/div&gt;
&lt;div class="c3"&gt;69&lt;/div&gt;
&lt;div class="c3"&gt;70&lt;/div&gt;
&lt;div class="c3"&gt;71&lt;/div&gt;
&lt;div class="c3"&gt;72&lt;/div&gt;
&lt;div class="c3"&gt;73&lt;/div&gt;
&lt;div class="c3"&gt;74&lt;/div&gt;
&lt;div class="c3"&gt;75&lt;/div&gt;
&lt;div class="c3"&gt;76&lt;/div&gt;
&lt;div class="c3"&gt;77&lt;/div&gt;
&lt;div class="c3"&gt;78&lt;/div&gt;
&lt;div class="c3"&gt;79&lt;/div&gt;
&lt;div class="c3"&gt;80&lt;/div&gt;
&lt;div class="c3"&gt;81&lt;/div&gt;
&lt;div class="c3"&gt;82&lt;/div&gt;
&lt;div class="c3"&gt;83&lt;/div&gt;
&lt;div class="c3"&gt;84&lt;/div&gt;
&lt;div class="c3"&gt;85&lt;/div&gt;
&lt;div class="c3"&gt;86&lt;/div&gt;
&lt;div class="c3"&gt;87&lt;/div&gt;
&lt;div class="c3"&gt;88&lt;/div&gt;
&lt;div class="c3"&gt;89&lt;/div&gt;
&lt;div class="c3"&gt;90&lt;/div&gt;
&lt;div class="c3"&gt;91&lt;/div&gt;
&lt;div class="c3"&gt;92&lt;/div&gt;
&lt;div class="c3"&gt;93&lt;/div&gt;
&lt;div class="c3"&gt;94&lt;/div&gt;
&lt;div class="c3"&gt;95&lt;/div&gt;
&lt;div class="c3"&gt;96&lt;/div&gt;
&lt;div class="c3"&gt;97&lt;/div&gt;
&lt;div class="c3"&gt;98&lt;/div&gt;
&lt;div class="c3"&gt;99&lt;/div&gt;
&lt;div class="c3"&gt;100&lt;/div&gt;

&lt;button id="b2" class="btn btn-default c2 hide"&gt;返回顶部&lt;/button&gt;
&lt;script src="jQuery-3.4.1.js"&gt;&lt;/script&gt;
&lt;script&gt;
$("#b1").on("click", function () {
    $(".c1").offset({left: 200, top:200});
});


$(window).scroll(function () {
    if ($(window).scrollTop() &gt; 100) {
      $("#b2").removeClass("hide");
    }else {
      $("#b2").addClass("hide");
    }
});
$("#b2").on("click", function () {
    $(window).scrollTop(0);
})
&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;

返回顶部示例
</code></pre>
<h2 id="尺寸">尺寸</h2>
<pre><code class="language-HTML">&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;title&gt;Title&lt;/title&gt;
    &lt;script src="jQuery-3.4.1.js"&gt;&lt;/script&gt;
    &lt;style&gt;
      p {
            border: 3px solid red;
            padding: 10px 14px 12px 16px;
            margin: 10px 32px 31px 24px;
      }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;p&gt;我会p标签&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;
</code></pre>
<h2 id="给标签设置文本值">给标签设置文本值</h2>
<pre><code class="language-HTML">&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;title&gt;Title&lt;/title&gt;
    &lt;script src="jQuery-3.4.1.js"&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;


&lt;div&gt;div
    &lt;span&gt;div&gt;span&lt;/span&gt;
    &lt;p&gt;div&gt;p
      &lt;a href=""&gt;div&gt;p&gt;a&lt;/a&gt;
    &lt;/p&gt;
    &lt;span&gt;div&gt;span&lt;/span&gt;
&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
</code></pre>
<h2 id="获取用户输入框的文本值">获取用户输入框的文本值</h2>
<pre><code class="language-HTML">&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;title&gt;Title&lt;/title&gt;
    &lt;script src="jQuery-3.4.1.js"&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;input type="text"&gt;
&lt;/body&gt;
&lt;/html&gt;
</code></pre>
<h2 id="注意">注意</h2>
<pre><code class="language-python">注意:
浏览器写的不保存
放再div内部,div里面span便签的上面
点属性是获取属性,点属性=是修改属性(必须是自身有的属性,如果没有就用setattribute)
value: from单中有那么,value值,所以可以便签对象点value(内部文本值)
contain:判断属性是否存在
toggle:属性存在就删除,没有就添加
点击事件onclick,所有标签都可以点(图片,button,link等)
原生的cs对象不可以调用jq的对象 ,var dEle=$('#d1')(jquery对象转原生js对象);   $(dEle)(原生js对象转jquery对象)
查找id一定要加#id
$('ul li:not("#d3")');#里面加双引
k.fn.init(5)&nbsp;
$('div').siblings();
k.fn.init(3)&nbsp;
兄弟上下都包括
            
$('#p1').css('color','red').next().css('color','blue'); #链式赋值操作
k.fn.init&nbsp;
            
</code></pre><br><br>
来源:https://www.cnblogs.com/huangxuanya/p/10982934.html
頁: [1]
查看完整版本: dom&JavaScript&Jquery