1 概述
#我們已經使用了簡單Css選擇器的jQuery選取函數: $()。現在是時候深入了解jQuery選擇器語法,以及一些提取和擴充選取元素集的方法了。
一、jQuery選擇器
在CSS3選擇器標淮草案定義的選擇器語法中,jQuery支援相當完整的一套子集,同時也加入了一些非標準但很有用的偽類。注意:本節講述的是 jQuery選擇器。其中有不少選擇器(但不是全部)可以在CSS樣式表中使用。選擇器語法有三層結構。你肯定已經見過選擇器中最簡單的形式。 ”#te st”選取id屬性為”test”的元素。 ”blockquote”選取文件中的所有
元素,而”div.note” 則選取所有class屬性為”note”的元素。簡單選擇器可以組合成“組合選擇器”,例如 “div.note>p”和“blockquote i”,只要用組合字元做分隔符號就行。簡單選擇器和組合選擇器也可以分成組成逗號分隔的清單。這個選擇器組是傳遞給$()函數最常見的形式。在解釋組合選擇器 和選擇器組之前,我們必須先了解簡單選擇器的語法。
2 基本選擇器
2.1 一覽表
2.2 範例程式碼
(1)id選擇器
#將id為lastname元素的背景色設定為藍色
View Code1 nbsp;html> 2 3 4 5 <meta> 6 <script></script> 7 <title>JQuery函数</title> 8 <script> 9 $(document).ready(function () {10 $("#lastname").css("background-color", "#0000ff");11 12 });13 14 </script>15 16 17 <div>id为lastname的选择器</div>18 19(2)類別選擇器
#將class為intro元素的背景色設定為藍色
View Code1 nbsp;html> 2 3 4 5 <meta> 6 <script></script> 7 <title>JQuery函数</title> 8 <script> 9 $(document).ready(function () {10 $(".intro").css("background-color", "#0000ff");11 12 });13 14 </script>15 16 17 <div>div选择器测试</div>18 <p>p测试选择器</p>19 20(3)元素選擇器
將p元素的背景色設定為藍色
#View Code1 nbsp;html> 2 3 4 5 <meta> 6 <script></script> 7 <title>JQuery函数</title> 8 <script> 9 $(document).ready(function () {10 $("p").css("background-color", "#0000ff");11 12 });13 14 </script>15 16 17 <p>p测试选择器</p>18 19(4)所有選擇器
#遍歷body下的所有元素,將其背景色設為藍色
View Code1 nbsp;html> 2 3 4 5 <meta> 6 <script></script> 7 <title>JQuery函数</title> 8 <script> 9 $(document).ready(function () {10 $("body *").css("background-color", "#0000ff");11 12 });13 14 </script>15 16 17 <div>选择器测试</div>18 <p>p元素</p>19 20(5)并列选择器
将元素p和元素div背景色设置为蓝色
View Code1 nbsp;html> 2 3 4 5 <meta> 6 <script></script> 7 <title>JQuery函数</title> 8 <script> 9 $(document).ready(function () {10 $("p,div").css("background-color", "#0000ff");11 12 });13 14 </script>15 16 17 <div>选择器测试</div>18 <p>p元素</p>19 203 层次选择器
3.1 一览表
3.2 示例代码
(1)parent>child(直系子元素,即直接下一代元素)
设置div元素的第一代元素为span的元素的背景色为蓝色
View Code1 nbsp;html> 2 3 4 5 <meta> 6 <script></script> 7 <title>JQuery函数</title> 8 <script> 9 $(document).ready(function () {10 $("div>span").css("background-color", "#0000ff");11 12 });13 14 </script>15 16 17 <div>18 <span>DOM树,DIV第一代</span>19 <p>20 <span>DOM树,第二代</span>21 </p>22 <span>DOM树,DIV第一代</span>23 </div>24 25测试结果:
结果分析:根据如上代码画出的DOM树如下,可以很清晰看出,DIV有三个直接孩子,即第一代span,p,span,代码中div>span,表示div下的直接第一代span,因此,测试结果就不难理解了。
(2)prev+next(prev元素的下一个兄弟元素,等同于next()方法)
设置类为intro元素的下一个兄弟元素背景色为蓝色
View Code1 nbsp;html> 2 3 4 5 <meta> 6 <script></script> 7 <title>JQuery函数</title> 8 <script> 9 $(document).ready(function () {10 $(".intro+div").css("background-color", "#0000ff");11 //$(".intro").next("div").css("background-color", "#0000ff");12 13 });14 15 </script>16 17 18 <div>1</div>19 <p>2</p>20 <div>3</div>21 <div>4</div>22 <span>5</span>23 <div>6</div>24 25测试结果:
结果分析:根据如上代码画出DOM树如下图,测试结果显而易见。
(3)prev~siblings(prev元素的所有兄弟元素,等同于nextAll()方法)
设置类为intro元素之后的所有兄弟元素为div元素的背景色为蓝色
View Code1 nbsp;html> 2 3 4 5 <meta> 6 <script></script> 7 <title>JQuery函数</title> 8 <script> 9 $(document).ready(function () {10 $(".intro~div").css("background-color", "#0000ff");11 });12 13 </script>14 15 16 <div>G0</div>17 <div>G1</div>18 <div>G2</div>19 <span>G3</span>20 <div>G4</div>21 22测试结果:
分析测试结果:根据如上代码画出DOM树如下图,测试结果显而易见。
4 过滤选择器
4.1 基本过滤选择器
4.1.1 一览表
4.1.2 代码示例
(1):first(选取第一个元素)
View Code1 nbsp;html> 2 3 4 5 <meta> 6 <script></script> 7 <title>JQuery函数</title> 8 <script> 9 $(document).ready(function () {10 $("span:first").css("background-color", "#0000ff");11 });12 13 </script>14 15 16 <span>G1</span>17 <span>G2</span>18 <span>G3</span>19 20测试结果:
(2):last(选取最后一个元素)
View Code1 nbsp;html> 2 3 4 5 <meta> 6 <script></script> 7 <title>JQuery函数</title> 8 <script> 9 $(document).ready(function () {10 $("span:last").css("background-color", "#0000ff");11 });12 13 </script>14 15 16 <span>G1</span>17 <span>G2</span>18 <span>G3</span>19 20测试结果:
(3):not(取非元素)
View Code1 nbsp;html> 2 3 4 5 <meta> 6 <script></script> 7 <title>JQuery函数</title> 8 <script> 9 $(document).ready(function () {10 $("div:not(.wrap)").css("background-color", "#0000ff");11 });12 13 </script>14 15 16 <div>G1</div>17 <div>G2</div>18 19但是,请注意下面的代码:当G1所在div和G2所在div是父子关系时,G1和G2都会变色。
View Code1 <div>2 G1 <div>G2</div>3 </div>(4):even(索引为偶数,索引 index从0开始)
View Code1 nbsp;html> 2 3 4 5 <meta> 6 <script></script> 7 <title>JQuery函数</title> 8 <script> 9 $(document).ready(function () {10 $("div:even").css("background-color", "#0000ff");11 });12 13 </script>14 15 16 <div>G1</div>17 <div>G2</div>18 <div>G3</div>19 <div>G4</div>20 21测试结果:
(5):odd(索引为奇数,索引 index从0开始)
View Code1 nbsp;html> 2 3 4 5 <meta> 6 <script></script> 7 <title>JQuery函数</title> 8 <script> 9 $(document).ready(function () {10 $("div:odd").css("background-color", "#0000ff");11 });12 13 </script>14 15 16 <div>G1</div>17 <div>G2</div>18 <div>G3</div>19 <div>G4</div>20 21测试结果:
(6):eq(x)(取指定索引的元素,x为从0开始的索引)
设置索引为2的div元素背景为蓝色
View Code1 nbsp;html> 2 3 4 5 <meta> 6 <script></script> 7 <title>JQuery函数</title> 8 <script> 9 $(document).ready(function () {10 $("div:eq(2)").css("background-color", "#0000ff");11 });12 13 </script>14 15 16 <div>G1</div>17 <div>G2</div>18 <div>G3</div>19 <div>G4</div>20 21测试结果:
(7):lt(x))(取小于指定索引的元素,x为从0开始的索引)
View Code1 nbsp;html> 2 3 4 5 <meta> 6 <script></script> 7 <title>JQuery函数</title> 8 <script> 9 $(document).ready(function () {10 $("div:lt(2)").css("background-color", "#0000ff");11 });12 13 </script>14 15 16 <div>G1</div>17 <div>G2</div>18 <div>G3</div>19 <div>G4</div>20 21测试结果:
(8):gt(x))(取大于指定索引的元素,x为从0开始的索引)
View Code1 nbsp;html> 2 3 4 5 <meta> 6 <script></script> 7 <title>JQuery函数</title> 8 <script> 9 $(document).ready(function () {10 $("div:gt(2)").css("background-color", "#0000ff");11 });12 13 </script>14 15 16 <div>G1</div>17 <div>G2</div>18 <div>G3</div>19 <div>G4</div>20 21测试结果:
(8):header(取h1-h6标题元素)
View Code1 nbsp;html> 2 3 4 5 <meta> 6 <script></script> 7 <title>JQuery函数</title> 8 <script> 9 $(document).ready(function () {10 $(":header").css("background-color", "#0000ff");11 });12 13 </script>14 15 16 <h1 id="测试H-标题">测试H1标题</h1>17 <div>G1</div>18 <div>G2</div>19 <div>G3</div>20 <h2 id="测试h-标题">测试h2标题</h2>21 <h3 id="测试h-标题">测试h3标题</h3>22 <h4 id="测试h-标题">测试h4标题</h4>23 <div>G4</div>24 <h5 id="测试h-标题">测试h5标题</h5>25 <h6 id="测试h-标题">测试h6标题</h6>26 27测试结果:
(9):animated(所有动画元素)
View Code1 nbsp;html> 2 3 4 5 <meta> 6 <script></script> 7 <title>JQuery函数</title> 8 <script> 9 $(document).ready(function () {10 function aniDiv() {11 $("#box").animate({ width: 300 }, "slow");12 $("#box").animate({ width: 100 }, "slow", aniDiv);13 }14 aniDiv();15 $(".btn1").click(function () {16 $(":animated").css("background-color", "#0000ff");17 });18 });19 20 </script>21 <style>22 div {23 background: #98bf21;24 height: 40px;25 width: 100px;26 position: relative;27 margin-bottom: 5px;28 }29 </style>30 31 32 <div></div>33 <div></div>34 <div></div>35 <button>Mark animated element</button>36 37测试结果:
4.2 内容过滤选择器
4.2.1 一览表
4.2.2 示例代码
(1):contains(text)(取包含text文本的元素)
View Code1 nbsp;html> 2 3 4 5 <meta> 6 <script></script> 7 <title>JQuery函数</title> 8 <script> 9 $(document).ready(function () {10 $('div:contains("G2")').css("background-color", "#0000ff");11 });12 13 </script>14 15 16 17 <div>G1</div>18 <div>G2</div>19 <div>G3</div>20 21测试结果:
(2):empty(取不包含子元素或文本为空的元素)
View Code1 nbsp;html> 2 3 4 5 <meta> 6 <script></script> 7 <title>JQuery函数</title> 8 <script> 9 $(document).ready(function () {10 $('div:empty').html('没有内容');11 });12 13 </script>14 15 16 17 <div>G1</div>18 <div>G2</div>19 <div>G3</div>20 <div></div>21 22测试结果:
(3) :has(selector)(取选择器匹配的元素)
即使span不是div的直系子元素,也会生效
View Code1 nbsp;html> 2 3 4 5 <meta> 6 <script></script> 7 <title>JQuery函数</title> 8 <script> 9 $(document).ready(function () {10 // 为包含span元素的div添加边框11 $('div:has(span)').css('border', '1px solid #000');12 });13 14 </script>15 16 17 18 <div>19 <h2 id="A-span-B-span">20 A <span>B</span>21 </h2>22 </div>23 24测试结果:
(4):parent(取包含子元素或文本的元素)
View Code1 nbsp;html> 2 3 4 5 <meta> 6 <script></script> 7 <title>JQuery函数</title> 8 <script> 9 $(document).ready(function () {10 $('ol li:parent').css('border', '1px solid #000');11 });12 13 </script>14 15 16 17 <ol>18 <li>19 <li>A</li>20 <li>21 <li>D</li>22 </ol>23 24测试结果:
4.3 可见性过滤选择器
4.3.1 一览表
4.3.2 示例代码
(1):hidden(取不可见的元素)
匹配display:none,,visibility:hidden,capacity:0元素
View Code1 nbsp;html> 2 3 4 5 <meta> 6 <script></script> 7 <title>JQuery函数</title> 8 <script> 9 $(document).ready(function () {10 $('div:hidden').show(500);11 alert($('input:hidden').val());12 });13 </script>14 <style>15 div 16 {17 margin: 10px;18 width: 200px;19 height: 40px;20 border: 1px solid #FF0000;21 display:block;22 }23 24 .hid-1 25 {26 display: none;27 }28 29 .hid-2 30 {31 visibility: hidden;32 }33 34 </style>35 36 37 <div>display: none</div>38 <div>visibility: hidden</div>39 <input>40 41测试结果:
(2):visible(取可见的元素)
View Code1 nbsp;html> 2 3 4 5 <meta> 6 <script></script> 7 <title>JQuery函数</title> 8 <script> 9 $(document).ready(function () {10 $('div:visible').css("background-color", "#0000ff");11 });12 13 </script>14 15 16 17 <div>G1</div>18 <div>G2</div>19 <div>G3</div>20 <div>G4</div>21 22 23 24 25 26测试结果:
4.4 属性过滤选择器
4.4.1 一览表
4.4.2 代码示例
(1)[attribute](取拥有attribute属性的元素)
View Code1 nbsp;html> 2 3 4 5 <meta> 6 <script></script> 7 <title>JQuery函数</title> 8 <script> 9 $(document).ready(function () {10 $('div[class]').css("background-color", "#0000ff");11 });12 13 </script>14 15 16 17 <div>G1</div>18 <div>G2</div>19 <div>G3</div>20 <div>G4</div>21 22 23 24 25 26测试结果:
(2)[attribute = value](取attribute属性值等于value)
View Code1 nbsp;html> 2 3 4 5 <meta> 6 <script></script> 7 <title>JQuery函数</title> 8 <script> 9 $(document).ready(function () {10 $('div[class=div3]').css("background-color", "#0000ff");11 });12 13 </script>14 15 16 17 <div>G1</div>18 <div>G2</div>19 <div>G3</div>20 <div>G4</div>21 22 23 24 25 26测试结果:
(3) [attribute != value](取attribute属性值不等于value的元素)
View Code1 nbsp;html> 2 3 4 5 <meta> 6 <script></script> 7 <title>JQuery函数</title> 8 <script> 9 $(document).ready(function () {10 $('div[class!=div3]').css("background-color", "#0000ff");11 });12 13 </script>14 15 16 17 <div>G1</div>18 <div>G2</div>19 <div>G3</div>20 <div>G4</div>21 22 23 24 25 26测试结果:
(4)[attribute $= value](attribute属性值以value结束)
View Code1 nbsp;html> 2 3 4 5 <meta> 6 <script></script> 7 <title>JQuery函数</title> 8 <script> 9 $(document).ready(function () {10 $('[id$=div]').css("background-color", "#0000ff");11 });12 13 </script>14 15 16 17 <div>G1</div>18 <div>G2</div>19 <div>G3</div>20 <div>G4</div>21 22 23测试结果:
(5))[attribute^= value](attribute属性值以value开始)
View Code1 nbsp;html> 2 3 4 5 <meta> 6 <script></script> 7 <title>JQuery函数</title> 8 <script> 9 $(document).ready(function () {10 $('[id^=first]').css("background-color", "#0000ff");11 });12 13 </script>14 15 16 17 <div>G1</div>18 <div>G2</div>19 <div>G3</div>20 <div>G4</div>21 22 23 24 25 26测试结果:
(6)[attribute *= value](attribute属性值包含value值)
View Code1 nbsp;html> 2 3 4 5 <meta> 6 <script></script> 7 <title>JQuery函数</title> 8 <script> 9 $(document).ready(function () {10 $('[id*=first]').css("background-color", "#0000ff");11 });12 13 </script>14 15 16 17 <div>G1</div>18 <div>G2</div>19 <div>G3</div>20 <div>G4</div>21 22 23测试结果:
注释:在属性选择器中,^$符号和正则表达式的开始结束符号表示的含义是一致的,*模糊匹配,类似于sql中的like '%str%'。
(7)[selector1][selector2](复合型属性过滤器,同时满足多个条件)
View Code1 nbsp;html> 2 3 4 5 <meta> 6 <script></script> 7 <title>JQuery函数</title> 8 <script> 9 $(document).ready(function () {10 $('div[class=div3][title=3div]').css("background-color", "#0000ff");11 });12 13 </script>14 15 16 17 <div>G1</div>18 <div>G2</div>19 <div>G3</div>20 <div>G4</div>21 22 23 24 25 26测试结果:
4.5 子元素过滤选择器
4.5.1 一览表
4.5.2 代码示例
(1)first-child(表示匹配的第一个元素)和last-child(表示匹配的最后一个子元素)
需要大家注意的是,:fisrst和:last返回的都是单个元素,而:first-child和:last-child返回的都是集合元素。举个 例子:div:first返回的是整个DOM文档中第一个div元素,而div:first-child是返回所有div元素下的第一个元素合并后的集 合。
View Code1 nbsp;html> 2 3 4 5 <meta> 6 <script></script> 7 <title>JQuery函数</title> 8 <script> 9 $(document).ready(function () {10 $("div:first-child").css("background-color", "#B2E0FF");11 $("div:last-child").css("background-color", "red");12 });13 </script>14 15 16 <div>17 <div>1</div>18 <div>2</div>19 <p>3</p>20 </div>21 <div>4</div>22 <div>last</div>23 24测试结果:
(3)only-child(当某个元素有且仅有一个子元素时,:only-child才会生效)
View Code1 nbsp;html> 2 3 4 5 <meta> 6 <script></script> 7 <title>JQuery函数</title> 8 <script> 9 $(document).ready(function () {10 $("div:only-child").css("background-color", "red");11 });12 </script>13 14 15 <div>16 <div>1</div>17 <div>2</div>18 <p>3</p>19 </div>20 <div>4</div>21 <div>last22 <div>ddd</div>23 </div>24 25测试结果:
(4)nth-child
看到这个就想起英文单词里的,fourth, fifth, sixth……,nth表示第n个,:nth-child就表示第n个child元素。要注意的是,这儿的n不像eq(x)、gt(x)或lt(x)是从 0开始的,它是从1开始的,英文里好像也没有zeroth这样的序号词吧。
:nth-child有三种用法:
1) :nth-child(x),获取第x个子元素
2) :nth-child(even)和:nth-child(odd),从1开始,获取第偶数个元素或第奇数个元素
3) :nth-child(xn+y),x>=0,y>=0。例如x = 3, y = 0时就是3n,表示取第3n个元素(n>=0)。实际上xn+y是上面两种的通项式。(当x=0,y>=0时,等同于:hth- child(x);当x=2,y=0时,等同于nth-child(even);当x=2,y=1时,等同于:nth-child(odd))4.6 表单对象属性过滤选择器
4.6.1 一览表
4.6.2 代码示例
(1):enabled和:disabled(取可用或不可用元素)
:enabled和:diabled的匹配范围包括input, select, textarea
View Code1 nbsp;html> 2 3 4 5 <meta> 6 <script></script> 7 <title>JQuery函数</title> 8 <script> 9 $(document).ready(function () {10 $(':enabled').css('border', '1px solid #FF0000');11 $(':disabled').css('border', '1px solid #0000FF');12 });13 14 </script>15 16 17 18 <div>19 <input>20 </div>21 <div>22 <input>23 </div>24 <div>25 <textarea>不可用的文本域</textarea>26 </div>27 <div>28 <select>29 <option>English</option>30 <option>简体中文</option>31 </select>32 </div>33 34测试结果:
(2):checked(取选中的单选框或复选框元素)
View Code1 nbsp;html> 2 3 4 5 <meta> 6 <script></script> 7 <title>JQuery函数</title> 8 <script> 9 $(document).ready(function () {10 $(".btn1").click(function () {11 $(":checked").hide();12 });13 });14 </script>15 16 17 18 <input> Male19 <br>20 <input> Female21 <br>22 I have a bike:23 <input>24 <br>25 I have a car:26 <input>27 <br>28 I have an airplane:29 <input>30 <button>Hide Checked Options</button>31 32 33(3):selected(取下拉列表被选中的元素)
View Code1 2 3 <script></script> 4 <script> 5 $(document).ready(function(){ 6 $(".btn1").click(function(){ 7 $(":selected").hide(); 8 }); 9 });10 </script>11 12 13 14 <select>15 <option>Volvo</option>16 <option>Saab</option>17 <option>Mercedes</option>18 <option>Audi</option>19 </select>20 <br>21 <button>Hide Selected</button>22 235 表单选择器
5.1 一览表
5.2 测试代码
(1):input()(选择所有input元素)
View Code1 nbsp;html> 2 3 4 5 <meta> 6 <script></script> 7 <title>JQuery函数</title> 8 <script> 9 $(document).ready(function () {10 $(":input").css("background-color", "#B2E0FF");11 });12 </script>13 14 1527 28测试结果:
(2):text(选取所有text元素)
View Code1 nbsp;html> 2 3 4 5 <meta> 6 <script></script> 7 <title>JQuery函数</title> 8 <script> 9 $(document).ready(function () {10 $(":text").css("background-color", "#B2E0FF");11 });12 </script>13 14 1527 28测试结果:
(3):select和:button
(4)其他表单元素比较简单,在此不列举。
以上是Jquery 選擇器全面詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

JavaScript在Web開發中的主要用途包括客戶端交互、表單驗證和異步通信。 1)通過DOM操作實現動態內容更新和用戶交互;2)在用戶提交數據前進行客戶端驗證,提高用戶體驗;3)通過AJAX技術實現與服務器的無刷新通信。

理解JavaScript引擎內部工作原理對開發者重要,因為它能幫助編寫更高效的代碼並理解性能瓶頸和優化策略。 1)引擎的工作流程包括解析、編譯和執行三個階段;2)執行過程中,引擎會進行動態優化,如內聯緩存和隱藏類;3)最佳實踐包括避免全局變量、優化循環、使用const和let,以及避免過度使用閉包。

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

Python和JavaScript在社區、庫和資源方面的對比各有優劣。 1)Python社區友好,適合初學者,但前端開發資源不如JavaScript豐富。 2)Python在數據科學和機器學習庫方面強大,JavaScript則在前端開發庫和框架上更勝一籌。 3)兩者的學習資源都豐富,但Python適合從官方文檔開始,JavaScript則以MDNWebDocs為佳。選擇應基於項目需求和個人興趣。

從C/C 轉向JavaScript需要適應動態類型、垃圾回收和異步編程等特點。 1)C/C 是靜態類型語言,需手動管理內存,而JavaScript是動態類型,垃圾回收自動處理。 2)C/C 需編譯成機器碼,JavaScript則為解釋型語言。 3)JavaScript引入閉包、原型鍊和Promise等概念,增強了靈活性和異步編程能力。

不同JavaScript引擎在解析和執行JavaScript代碼時,效果會有所不同,因為每個引擎的實現原理和優化策略各有差異。 1.詞法分析:將源碼轉換為詞法單元。 2.語法分析:生成抽象語法樹。 3.優化和編譯:通過JIT編譯器生成機器碼。 4.執行:運行機器碼。 V8引擎通過即時編譯和隱藏類優化,SpiderMonkey使用類型推斷系統,導致在相同代碼上的性能表現不同。

JavaScript在現實世界中的應用包括服務器端編程、移動應用開發和物聯網控制:1.通過Node.js實現服務器端編程,適用於高並發請求處理。 2.通過ReactNative進行移動應用開發,支持跨平台部署。 3.通過Johnny-Five庫用於物聯網設備控制,適用於硬件交互。

我使用您的日常技術工具構建了功能性的多租戶SaaS應用程序(一個Edtech應用程序),您可以做同樣的事情。 首先,什麼是多租戶SaaS應用程序? 多租戶SaaS應用程序可讓您從唱歌中為多個客戶提供服務


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

記事本++7.3.1
好用且免費的程式碼編輯器