0

0

js如何解析XML数据 XML数据解析的3种常用方法解析

尼克

尼克

发布时间:2025-06-29 18:46:01

|

425人浏览过

|

来源于php中文网

原创

解析 xml 数据在 javascript 中可通过三种主要方法实现:domparser、xmlhttprequest 和第三方库。1.domparser 是浏览器内置的解析器,通过 parsefromstring() 方法将 xml 字符串转换为 document 对象,便于操作 xml dom;2.xmlhttprequest 可用于从服务器获取并解析 xml 文件,设置 responsetype 为 "document" 后通过 responsexml 获取解析后的 document 对象;3.第三方库如 jquery 提供更简洁的 api,使用 $.parsexml() 方法简化解析和数据提取过程。此外,处理命名空间需使用 getelementsbytagnamens() 和 getattributens() 方法;复杂结构可通过递归函数遍历元素和属性;错误处理则应检查 parsererror 元素以判断解析是否失败。每种方法各有适用场景,开发者可根据需求选择合适方案。

js如何解析XML数据 XML数据解析的3种常用方法解析

直接使用 JavaScript 解析 XML 数据,核心在于将 XML 字符串转换为 JavaScript 可以操作的对象。通常有三种常见方法:DOMParser、XMLHttpRequest (配合 responseXML) 以及使用第三方库(例如 jQuery)。选择哪种方法取决于你的具体需求,比如是否需要兼容老版本浏览器,或者是否需要更便捷的 API。

js如何解析XML数据 XML数据解析的3种常用方法解析

DOMParser XMLHttpRequest 第三方库

js如何解析XML数据 XML数据解析的3种常用方法解析

DOMParser 解析 XML 数据

DOMParser 是浏览器内置的 XML 解析器,使用起来相当直接。首先,你需要创建一个 DOMParser 实例,然后调用其 parseFromString() 方法将 XML 字符串转换为 Document 对象。之后,你就可以像操作 HTML DOM 一样操作 XML DOM 了。

const xmlString = `
  
    Everyday Italian
    Giada De Laurentiis
    2005
    30.00
  
`;

const parser = new DOMParser();
const xmlDoc = parser.parseFromString(xmlString, "text/xml");

const title = xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;
console.log(title); // 输出 "Everyday Italian"

需要注意的是,如果 XML 格式不正确,parseFromString() 方法可能会返回一个包含错误信息的 Document 对象。因此,在使用前最好检查一下 xmlDoc.getElementsByTagName("parsererror") 是否为空。

js如何解析XML数据 XML数据解析的3种常用方法解析

XMLHttpRequest 获取并解析 XML 数据

如果你需要从服务器获取 XML 数据,XMLHttpRequest 是一个不错的选择。设置 responseType 为 "document" 可以让浏览器自动将响应解析为 XML Document 对象。

const xhr = new XMLHttpRequest();
xhr.open("GET", "books.xml", true);
xhr.responseType = "document";

xhr.onload = function() {
  if (xhr.readyState === 4 && xhr.status === 200) {
    const xmlDoc = xhr.responseXML;
    const title = xmlDoc.getElementsByTagName("title")[0].textContent;
    console.log(title);
  }
};

xhr.send();

这里,books.xml 应该是一个 XML 文件,放置在你的服务器上。注意处理 readyStatestatus,确保请求成功完成。textContent 属性是获取元素文本内容的更简洁的方式,替代了 childNodes[0].nodeValue

使用第三方库简化 XML 解析

像 jQuery 这样的库提供了更简洁的 API 来处理 XML 数据。虽然 jQuery 主要用于 HTML 操作,但它也能很好地处理 XML。

const xmlString = `
  
    Everyday Italian
    Giada De Laurentiis
    2005
    30.00
  
`;

const xmlDoc = $.parseXML(xmlString);
const $xml = $(xmlDoc);

const title = $xml.find("title").text();
console.log(title); // 输出 "Everyday Italian"

$.parseXML() 将 XML 字符串转换为 XML Document 对象,然后你可以使用 jQuery 的选择器和遍历方法来查找和提取数据。这种方式通常更简洁,代码可读性也更高。

PHP5学习对象教程
PHP5学习对象教程

PHP5学习对象教程由美国人古曼兹、贝肯、瑞桑斯编著,简张桂翻译,电子工业出版社于2007年12月1日出版的关于PHP5应用程序的技术类图书。该书全面介绍了PHP 5中的新功能、编程方法及设计模式,还分析阐述了PHP 5中新的数据库连接处理、错误处理和XML处理等机制,帮助读者系统了解、熟练掌握和高效应用PHP。

下载

如何处理 XML 中的命名空间?

XML 命名空间用于避免元素名称冲突,特别是在处理来自不同来源的 XML 数据时。在 JavaScript 中处理命名空间需要使用特定的方法,例如 getElementsByTagNameNS()getAttributeNS()

const xmlString = `
  
text
`;

const parser = new DOMParser();
const xmlDoc = parser.parseFromString(xmlString, "text/xml");

const element = xmlDoc.getElementsByTagNameNS("http://example.com", "element")[0];
const attributeValue = element.getAttributeNS(null, "attribute"); // null 表示没有命名空间的属性
const textContent = element.textContent;

console.log(attributeValue); // 输出 "value"
console.log(textContent); // 输出 "text"

getElementsByTagNameNS() 方法接受命名空间 URI 和本地名称作为参数。getAttributeNS() 方法也类似,但第一个参数也可以是 null,表示获取没有命名空间的属性。

如何处理复杂的 XML 结构?

处理复杂的 XML 结构可能需要递归遍历 XML 树。你可以编写一个递归函数,该函数接受一个 XML 元素作为参数,并处理该元素的属性和子元素。

function processElement(element) {
  console.log("Element Name:", element.nodeName);
  for (let i = 0; i < element.attributes.length; i++) {
    const attribute = element.attributes[i];
    console.log("Attribute:", attribute.name, "=", attribute.value);
  }

  for (let i = 0; i < element.childNodes.length; i++) {
    const child = element.childNodes[i];
    if (child.nodeType === Node.ELEMENT_NODE) {
      processElement(child); // 递归调用
    } else if (child.nodeType === Node.TEXT_NODE) {
      console.log("Text Content:", child.textContent.trim());
    }
  }
}

const xmlString = `
  
    Some text
    More text
  
`;

const parser = new DOMParser();
const xmlDoc = parser.parseFromString(xmlString, "text/xml");

processElement(xmlDoc.documentElement); // 从根元素开始

这个例子展示了如何递归遍历 XML 树,并处理元素、属性和文本内容。根据你的具体需求,你可以修改 processElement() 函数来执行不同的操作。注意 trim() 方法用于去除文本内容中的空白字符。

如何处理 XML 解析中的错误?

XML 解析过程中可能会遇到各种错误,例如格式不正确、缺少必需的元素或属性等。为了确保你的代码能够正确处理这些错误,你需要进行适当的错误处理。

const xmlString = `
  
    Everyday Italian
    <author>Giada De Laurentiis</author>
    <year>2005</year>
    <price>30.00</price>
  </book>
</bookstore>`; // 缺少闭合标签

const parser = new DOMParser();
const xmlDoc = parser.parseFromString(xmlString, "text/xml");

const errorNode = xmlDoc.getElementsByTagName("parsererror")[0];

if (errorNode) {
  console.error("XML 解析错误:", errorNode.textContent);
} else {
  const title = xmlDoc.getElementsByTagName("title")[0].textContent;
  console.log(title);
}</pre><p>在这个例子中,XML 字符串缺少一个闭合标签,导致解析错误。通过检查 <code>xmlDoc.getElementsByTagName("parsererror")</code> 是否存在,我们可以判断是否发生了错误。如果存在错误,我们可以输出错误信息,而不是尝试访问不存在的元素。</p>					</div>
					<div class="artmoreart ">
													<div class="artdp artptit"><span></span>
								<p>相关文章</p>
							</div>
							<div class="artmores flexColumn">
																	<a class="artmrlis flexRow" href="/faq/1913098.html" title="javascript中模块打包是什么_webpack和vite有何不同?"><b></b>
										<p class="overflowclass">javascript中模块打包是什么_webpack和vite有何不同?</p>
									</a>
																	<a class="artmrlis flexRow" href="/faq/1911931.html" title="javascript React是什么_它的核心概念有哪些"><b></b>
										<p class="overflowclass">javascript React是什么_它的核心概念有哪些</p>
									</a>
																	<a class="artmrlis flexRow" href="/faq/1911907.html" title="JavaScript如何实现验证码_前端验证安全吗"><b></b>
										<p class="overflowclass">JavaScript如何实现验证码_前端验证安全吗</p>
									</a>
																	<a class="artmrlis flexRow" href="/faq/1911683.html" title="什么是Javascript的IIFE模式_怎样使用Javascript立即执行函数表达式?"><b></b>
										<p class="overflowclass">什么是Javascript的IIFE模式_怎样使用Javascript立即执行函数表达式?</p>
									</a>
																	<a class="artmrlis flexRow" href="/faq/1911048.html" title="JavaScript图表库如何选择与使用?"><b></b>
										<p class="overflowclass">JavaScript图表库如何选择与使用?</p>
									</a>
															</div>
													<div class="artmoretabs flexRow">
								<p>相关标签:</p>
								<div class="mtbs flexRow">
									<a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/15802.html" target="_blank">js</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/16180.html" target="_blank">浏览器</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/17033.html" target="_blank">iis</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/55554.html" target="_blank">代码可读性</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=JavaScript" target="_blank">JavaScript</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=jquery" target="_blank">jquery</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=html" target="_blank">html</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=NULL" target="_blank">NULL</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=命名空间" target="_blank">命名空间</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=xml" target="_blank">xml</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=字符串" target="_blank">字符串</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=递归" target="_blank">递归</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=JS" target="_blank">JS</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=对象" target="_blank">对象</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=dom" target="_blank">dom</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=选择器" target="_blank">选择器</a>								</div>
							</div>
						
						<p class="statement">本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn</p>
						<div class="lastanext flexRow">
													<a class="lastart flexRow" href="/faq/1379897.html" title="js怎样检测CPU使用率 js检测CPU负载的3种实用方法"><span>上一篇:</span>js怎样检测CPU使用率 js检测CPU负载的3种实用方法</a>
													<a class="nextart flexRow" href="/faq/1379926.html" title="JS怎样检测用户空闲状态 5分钟无操作自动触发空闲检测逻辑"><span>下一篇:</span>JS怎样检测用户空闲状态 5分钟无操作自动触发空闲检测逻辑</a>
												</div>
					</div>

					<div class="artlef-down ">
													<div class="authormore ">
								<div class="rightdTitle flexRow">
									<div class="title-left flexRow"> <b></b>
										<p>作者最新文章</p>
									</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/1915119.html" title="Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】"><b></b>
												<p class="overflowclass">Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2025-12-31 16:41</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/1915122.html" title="c++头文件中的#ifndef/#define/#endif是什么意思 防止头文件重复包含【必会技巧】"><b></b>
												<p class="overflowclass">c++头文件中的#ifndef/#define/#endif是什么意思 防止头文件重复包含【必会技巧】</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2025-12-31 16:41</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/1915173.html" title="C++如何实现一个简单的哈希表(Hash Table)?(代码示例)"><b></b>
												<p class="overflowclass">C++如何实现一个简单的哈希表(Hash Table)?(代码示例)</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2025-12-31 16:50</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/1915193.html" title="Mac如何修复应用程序权限问题_Mac磁盘工具修复权限【教程】"><b></b>
												<p class="overflowclass">Mac如何修复应用程序权限问题_Mac磁盘工具修复权限【教程】</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2025-12-31 16:53</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/1915198.html" title="浏览器地址栏搜索建议怎么关闭_禁用Chrome的搜索和网址建议【隐私】"><b></b>
												<p class="overflowclass">浏览器地址栏搜索建议怎么关闭_禁用Chrome的搜索和网址建议【隐私】</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2025-12-31 16:54</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/1915205.html" title="猎豹浏览器历史记录怎么查看删除 猎豹浏览器浏览记录管理【步骤】"><b></b>
												<p class="overflowclass">猎豹浏览器历史记录怎么查看删除 猎豹浏览器浏览记录管理【步骤】</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2025-12-31 16:55</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/1915225.html" title="composer怎么配置多渠道下载源_composer多repositories仓库优先级设置【技巧】"><b></b>
												<p class="overflowclass">composer怎么配置多渠道下载源_composer多repositories仓库优先级设置【技巧】</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2025-12-31 16:58</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/1915279.html" title="Composer的archive命令如何将项目打包?(代码归档技巧)"><b></b>
												<p class="overflowclass">Composer的archive命令如何将项目打包?(代码归档技巧)</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2025-12-31 17:09</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/1915324.html" title="C++如何使用std::bind和占位符?(函数封装)"><b></b>
												<p class="overflowclass">C++如何使用std::bind和占位符?(函数封装)</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2025-12-31 17:17</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/1915405.html" title="c++怎么使用std::variant多态容器_c++ 17类型安全联合体访问【方法】"><b></b>
												<p class="overflowclass">c++怎么使用std::variant多态容器_c++ 17类型安全联合体访问【方法】</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2025-12-31 17:33</p>
											</div>
										</div>
								</div>
															</div>
						
						<div class="moreAi ">
							<div class="rightdTitle flexRow">
								<div class="title-left flexRow"> <b></b>
									<p>热门AI工具</p>
								</div>
								<a target="_blank" class="rititle-more flexRow" href="/ai" title="热门AI工具"><span>更多</span><b></b></a>
							</div>

							<div class="moreailist flexRow">
																	<div class="aidcons flexRow  check ">
										<a target="_blank" href="/ai/723" title="DeepSeek" class="aibtns flexRow">
											<img src="https://img.php.cn/upload/ai_manual/000/000/000/175679963982777.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="DeepSeek" class="aibtnimg"
												onerror="this.src='/static/lhimages/moren/morentu.png'">
											<div class="aibtn-right flexColumn">
												<p class="overflowclass abripone">DeepSeek</p>
												<p class="overflowclass abriptwo">幻方量化公司旗下的开源大模型平台</p>
																									<div class="aidconstab flexRow">
																												<p href="/ai/tag/code/large-model" title="AI大模型" class="aidcontbp flexRow flexcenter">AI大模型</p>
																													<p href="/ai/tag/code/open-plat" title="开放平台" class="aidcontbp flexRow flexcenter">开放平台</p>
																											</div>
																							</div>
										</a>
									</div>
																	<div class="aidcons flexRow  check ">
										<a target="_blank" href="/ai/726" title="豆包大模型" class="aibtns flexRow">
											<img src="https://img.php.cn/upload/ai_manual/000/000/000/175680204067325.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="豆包大模型" class="aibtnimg"
												onerror="this.src='/static/lhimages/moren/morentu.png'">
											<div class="aibtn-right flexColumn">
												<p class="overflowclass abripone">豆包大模型</p>
												<p class="overflowclass abriptwo">字节跳动自主研发的一系列大型语言模型</p>
																									<div class="aidconstab flexRow">
																												<p href="/ai/tag/code/large-model" title="AI大模型" class="aidcontbp flexRow flexcenter">AI大模型</p>
																											</div>
																							</div>
										</a>
									</div>
																	<div class="aidcons flexRow  check ">
										<a target="_blank" href="/ai/725" title="通义千问" class="aibtns flexRow">
											<img src="https://img.php.cn/upload/ai_manual/000/000/000/175679974228210.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="通义千问" class="aibtnimg"
												onerror="this.src='/static/lhimages/moren/morentu.png'">
											<div class="aibtn-right flexColumn">
												<p class="overflowclass abripone">通义千问</p>
												<p class="overflowclass abriptwo">阿里巴巴推出的全能AI助手</p>
																									<div class="aidconstab flexRow">
																												<p href="/ai/tag/code/large-model" title="AI大模型" class="aidcontbp flexRow flexcenter">AI大模型</p>
																											</div>
																							</div>
										</a>
									</div>
																	<div class="aidcons flexRow  check ">
										<a target="_blank" href="/ai/854" title="腾讯元宝" class="aibtns flexRow">
											<img src="https://img.php.cn/upload/ai_manual/000/000/000/175679978251103.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="腾讯元宝" class="aibtnimg"
												onerror="this.src='/static/lhimages/moren/morentu.png'">
											<div class="aibtn-right flexColumn">
												<p class="overflowclass abripone">腾讯元宝</p>
												<p class="overflowclass abriptwo">腾讯混元平台推出的AI助手</p>
																									<div class="aidconstab flexRow">
																												<p href="/ai/tag/office/docs" title="文档处理" class="aidcontbp flexRow flexcenter">文档处理</p>
																													<p href="/ai/tag/office/excel" title="Excel 表格" class="aidcontbp flexRow flexcenter">Excel 表格</p>
																											</div>
																							</div>
										</a>
									</div>
																	<div class="aidcons flexRow  check ">
										<a target="_blank" href="/ai/724" title="文心一言" class="aibtns flexRow">
											<img src="https://img.php.cn/upload/ai_manual/000/000/000/175679974557049.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="文心一言" class="aibtnimg"
												onerror="this.src='/static/lhimages/moren/morentu.png'">
											<div class="aibtn-right flexColumn">
												<p class="overflowclass abripone">文心一言</p>
												<p class="overflowclass abriptwo">文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。</p>
																									<div class="aidconstab flexRow">
																												<p href="/ai/tag/code/large-model" title="AI大模型" class="aidcontbp flexRow flexcenter">AI大模型</p>
																													<p href="/ai/tag/text/chinese-writing" title="中文写作" class="aidcontbp flexRow flexcenter">中文写作</p>
																											</div>
																							</div>
										</a>
									</div>
																	<div class="aidcons flexRow  check ">
										<a target="_blank" href="/ai/1507" title="讯飞写作" class="aibtns flexRow">
											<img src="https://img.php.cn/upload/ai_manual/000/969/633/68b7a4153cd86671.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="讯飞写作" class="aibtnimg"
												onerror="this.src='/static/lhimages/moren/morentu.png'">
											<div class="aibtn-right flexColumn">
												<p class="overflowclass abripone">讯飞写作</p>
												<p class="overflowclass abriptwo">基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿</p>
																									<div class="aidconstab flexRow">
																												<p href="/ai/tag/text/chinese-writing" title="中文写作" class="aidcontbp flexRow flexcenter">中文写作</p>
																													<p href="/ai/tag/text/write" title="写作工具" class="aidcontbp flexRow flexcenter">写作工具</p>
																											</div>
																							</div>
										</a>
									</div>
																	<div class="aidcons flexRow  check ">
										<a target="_blank" href="/ai/1115" title="即梦AI" class="aibtns flexRow">
											<img src="https://img.php.cn/upload/ai_manual/001/246/273/68b6d8f7c530c315.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="即梦AI" class="aibtnimg"
												onerror="this.src='/static/lhimages/moren/morentu.png'">
											<div class="aibtn-right flexColumn">
												<p class="overflowclass abripone">即梦AI</p>
												<p class="overflowclass abriptwo">一站式AI创作平台,免费AI图片和视频生成。</p>
																									<div class="aidconstab flexRow">
																												<p href="/ai/tag/image/image-titching" title="图片拼接" class="aidcontbp flexRow flexcenter">图片拼接</p>
																													<p href="/ai/tag/image/image-create" title="图画生成" class="aidcontbp flexRow flexcenter">图画生成</p>
																											</div>
																							</div>
										</a>
									</div>
																	<div class="aidcons flexRow  check ">
										<a target="_blank" href="/ai/808" title="ChatGPT" class="aibtns flexRow">
											<img src="https://img.php.cn/upload/ai_manual/000/000/000/175679970194596.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="ChatGPT" class="aibtnimg"
												onerror="this.src='/static/lhimages/moren/morentu.png'">
											<div class="aibtn-right flexColumn">
												<p class="overflowclass abripone">ChatGPT</p>
												<p class="overflowclass abriptwo">最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。</p>
																									<div class="aidconstab flexRow">
																												<p href="/ai/tag/code/large-model" title="AI大模型" class="aidcontbp flexRow flexcenter">AI大模型</p>
																													<p href="/ai/tag/text/chinese-writing" title="中文写作" class="aidcontbp flexRow flexcenter">中文写作</p>
																											</div>
																							</div>
										</a>
									</div>
																	<div class="aidcons flexRow  check ">
										<a target="_blank" href="/ai/821" title="智谱清言 - 免费全能的AI助手" class="aibtns flexRow">
											<img src="https://img.php.cn/upload/ai_manual/000/000/000/175679976181507.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="智谱清言 - 免费全能的AI助手" class="aibtnimg"
												onerror="this.src='/static/lhimages/moren/morentu.png'">
											<div class="aibtn-right flexColumn">
												<p class="overflowclass abripone">智谱清言 - 免费全能的AI助手</p>
												<p class="overflowclass abriptwo">智谱清言 - 免费全能的AI助手</p>
																									<div class="aidconstab flexRow">
																												<p href="/ai/tag/code/large-model" title="AI大模型" class="aidcontbp flexRow flexcenter">AI大模型</p>
																													<p href="/ai/tag/office/pdf" title="PDF 文档" class="aidcontbp flexRow flexcenter">PDF 文档</p>
																											</div>
																							</div>
										</a>
									</div>
															</div>




						</div>

					</div>


				</div>


			</div>
			<div class="conRight artdtilRight ">
				<div class="artrig-adv ">
                    <script type="text/javascript" src="https://teacher.php.cn/php/MDM3MTk1MGYxYjI5ODJmNTE0ZWVkZTA3NmJhYzhmMjI6Og=="></script>
                </div>
				<div class="hotzt artdtzt">
					<div class="rightdTitle flexRow">
						<div class="title-left flexRow"> <b></b>
							<p>相关专题</p>
						</div>
						<a target="_blank" class="rititle-more flexRow" href="/faq/zt" title="相关专题"><span>更多</span><b></b></a>
					</div>
					<div class="hotztuls flexColumn">
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/jsszcd" class="aClass flexRow hotzta" title="js获取数组长度的方法"><img
										src="https://img.php.cn/upload/subject/202306/20/2023062017455159983.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="js获取数组长度的方法" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/jsszcd" class="aClass flexRow hotztra overflowclass" title="js获取数组长度的方法">js获取数组长度的方法</a>
									<p class="aClass flexRow hotztrp overflowclass">在js中,可以利用array对象的length属性来获取数组长度,该属性可设置或返回数组中元素的数目,只需要使用“array.length”语句即可返回表示数组对象的元素个数的数值,也就是长度值。php中文网还提供JavaScript数组的相关下载、相关课程等内容,供大家免费下载使用。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">543</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2023.06.20</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/jssxym" class="aClass flexRow hotzta" title="js刷新当前页面"><img
										src="https://img.php.cn/upload/subject/202307/04/2023070409584996422.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="js刷新当前页面" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/jssxym" class="aClass flexRow hotztra overflowclass" title="js刷新当前页面">js刷新当前页面</a>
									<p class="aClass flexRow hotztrp overflowclass">js刷新当前页面的方法:1、reload方法,该方法强迫浏览器刷新当前页面,语法为“location.reload([bForceGet]) ”;2、replace方法,该方法通过指定URL替换当前缓存在历史里(客户端)的项目,因此当使用replace方法之后,不能通过“前进”和“后退”来访问已经被替换的URL,语法为“location.replace(URL) ”。php中文网为大家带来了js刷新当前页面的相关知识、以及相关文章等内容</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">372</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2023.07.04</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/jssswr" class="aClass flexRow hotzta" title="js四舍五入"><img
										src="https://img.php.cn/upload/subject/202307/04/2023070410160418152.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="js四舍五入" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/jssswr" class="aClass flexRow hotztra overflowclass" title="js四舍五入">js四舍五入</a>
									<p class="aClass flexRow hotztrp overflowclass">js四舍五入的方法:1、tofixed方法,可把 Number 四舍五入为指定小数位数的数字;2、round() 方法,可把一个数字舍入为最接近的整数。php中文网为大家带来了js四舍五入的相关知识、以及相关文章等内容</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">727</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2023.07.04</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/jsscjddff" class="aClass flexRow hotzta" title="js删除节点的方法"><img
										src="https://img.php.cn/upload/subject/202309/01/2023090117024286721.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="js删除节点的方法" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/jsscjddff" class="aClass flexRow hotztra overflowclass" title="js删除节点的方法">js删除节点的方法</a>
									<p class="aClass flexRow hotztrp overflowclass">js删除节点的方法有:1、removeChild()方法,用于从父节点中移除指定的子节点,它需要两个参数,第一个参数是要删除的子节点,第二个参数是父节点;2、parentNode.removeChild()方法,可以直接通过父节点调用来删除子节点;3、remove()方法,可以直接删除节点,而无需指定父节点;4、innerHTML属性,用于删除节点的内容。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">470</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2023.09.01</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/javascriptzy" class="aClass flexRow hotzta" title="JavaScript转义字符"><img
										src="https://img.php.cn/upload/subject/202309/04/2023090411084899588.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="JavaScript转义字符" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/javascriptzy" class="aClass flexRow hotztra overflowclass" title="JavaScript转义字符">JavaScript转义字符</a>
									<p class="aClass flexRow hotztrp overflowclass">JavaScript中的转义字符是反斜杠和引号,可以在字符串中表示特殊字符或改变字符的含义。本专题为大家提供转义字符相关的文章、下载、课程内容,供大家免费下载体验。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">392</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2023.09.04</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/jsscsjsdff" class="aClass flexRow hotzta" title="js生成随机数的方法"><img
										src="https://img.php.cn/upload/subject/202309/04/2023090411300156430.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="js生成随机数的方法" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/jsscsjsdff" class="aClass flexRow hotztra overflowclass" title="js生成随机数的方法">js生成随机数的方法</a>
									<p class="aClass flexRow hotztrp overflowclass">js生成随机数的方法有:1、使用random函数生成0-1之间的随机数;2、使用random函数和特定范围来生成随机整数;3、使用random函数和round函数生成0-99之间的随机整数;4、使用random函数和其他函数生成更复杂的随机数;5、使用random函数和其他函数生成范围内的随机小数;6、使用random函数和其他函数生成范围内的随机整数或小数。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">990</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2023.09.04</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/rhqyjavascrip" class="aClass flexRow hotzta" title="如何启用JavaScript"><img
										src="https://img.php.cn/upload/subject/202309/12/2023091210411962381.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="如何启用JavaScript" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/rhqyjavascrip" class="aClass flexRow hotztra overflowclass" title="如何启用JavaScript">如何启用JavaScript</a>
									<p class="aClass flexRow hotztrp overflowclass">JavaScript启用方法有内联脚本、内部脚本、外部脚本和异步加载。详细介绍:1、内联脚本是将JavaScript代码直接嵌入到HTML标签中;2、内部脚本是将JavaScript代码放置在HTML文件的`<script>`标签中;3、外部脚本是将JavaScript代码放置在一个独立的文件;4、外部脚本是将JavaScript代码放置在一个独立的文件。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">654</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2023.09.12</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/jssymbol" class="aClass flexRow hotzta" title="Js中Symbol类详解"><img
										src="https://img.php.cn/upload/subject/202309/20/2023092011360778721.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="Js中Symbol类详解" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/jssymbol" class="aClass flexRow hotztra overflowclass" title="Js中Symbol类详解">Js中Symbol类详解</a>
									<p class="aClass flexRow hotztrp overflowclass">javascript中的Symbol数据类型是一种基本数据类型,用于表示独一无二的值。Symbol的特点:1、独一无二,每个Symbol值都是唯一的,不会与其他任何值相等;2、不可变性,Symbol值一旦创建,就不能修改或者重新赋值;3、隐藏性,Symbol值不会被隐式转换为其他类型;4、无法枚举,Symbol值作为对象的属性名时,默认是不可枚举的。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">544</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2023.09.20</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/phpymazjcdq" class="aClass flexRow hotzta" title="php源码安装教程大全"><img
										src="https://img.php.cn/upload/subject/202512/31/2025123115154686243.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="php源码安装教程大全" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/phpymazjcdq" class="aClass flexRow hotztra overflowclass" title="php源码安装教程大全">php源码安装教程大全</a>
									<p class="aClass flexRow hotztrp overflowclass">本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">65</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2025.12.31</p>
										</div>
									</div>
								</div>
							</div>
											</div>
				</div>

				<div class="hotdownload ">
					<div class="rightdTitle flexRow">
						<div class="title-left flexRow"> <b></b>
							<p>热门下载</p>
						</div>
						<a target="_blank" class="rititle-more flexRow" href="/xiazai" title="热门下载"><span>更多</span><b></b></a>
					</div>
					<div class="hotdownTab">
						<div class="hdTabs flexRow">
							<div class="check" data-id="onef">网站特效 <b></b> </div> /
							<div class="" data-id="twof">网站源码 <b></b></div> /
							<div class="" data-id="threef">网站素材 <b></b></div> /
							<div class="" data-id="fourf">前端模板 <b></b></div>
						</div>
						<ul class="onef">
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="简洁的创新科技图文介绍ui布局" href="/xiazai/js/8217"><span>[窗口特效]</span><span>简洁的创新科技图文介绍ui布局</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="js会员注册表单验证代码" href="/xiazai/js/8216"><span>[表单按钮]</span><span>js会员注册表单验证代码</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="酷炫的英文CSS3动画特效" href="/xiazai/js/8215"><span>[文字特效]</span><span>酷炫的英文CSS3动画特效</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="js导航菜单设置当前频道高亮导航条" href="/xiazai/js/8214"><span>[菜单导航]</span><span>js导航菜单设置当前频道高亮导航条</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="jQuery表格table内容添加删除特效" href="/xiazai/js/8213"><span>[窗口特效]</span><span>jQuery表格table内容添加删除特效</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="jQuery问卷调查表单编辑代码" href="/xiazai/js/8212"><span>[表单按钮]</span><span>jQuery问卷调查表单编辑代码</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="jQuery百叶窗文字背景动画" href="/xiazai/js/8211"><span>[文字特效]</span><span>jQuery百叶窗文字背景动画</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="jQuery拖拽图片上传表单代码" href="/xiazai/js/8210"><span>[表单按钮]</span><span>jQuery拖拽图片上传表单代码</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="jQuery颜色选取调色板实例" href="/xiazai/js/8209"><span>[窗口特效]</span><span>jQuery颜色选取调色板实例</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="纯CSS3消失和递进文字特效" href="/xiazai/js/8208"><span>[文字特效]</span><span>纯CSS3消失和递进文字特效</span></a>
									</div>
								</li>
													</ul>
						<ul class="twof" style="display:none;">
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11353" title="雅龙智能装备工业设备类WordPress主题1.0"><span>[企业站源码]</span><span>雅龙智能装备工业设备类WordPress主题1.0</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11352" title="威发卡自动发卡系统"><span>[电商源码]</span><span>威发卡自动发卡系统</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11351" title="卡密分发系统"><span>[电商源码]</span><span>卡密分发系统</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11350" title="中华陶瓷网"><span>[电商源码]</span><span>中华陶瓷网</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11349" title="简洁粉色食品公司网站"><span>[电商源码]</span><span>简洁粉色食品公司网站</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11348" title="极速网店系统"><span>[电商源码]</span><span>极速网店系统</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11347" title="淘宝妈妈_淘客推广系统"><span>[电商源码]</span><span>淘宝妈妈_淘客推广系统</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11346" title="积客B2SCMS商城系统"><span>[电商源码]</span><span>积客B2SCMS商城系统</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11345" title="CODEC2I 众筹系统"><span>[电商源码]</span><span>CODEC2I 众筹系统</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11344" title="ieshop超级网店系统"><span>[电商源码]</span><span>ieshop超级网店系统</span> </a>
									</div>
								</li>
													</ul>
						<ul class="threef" style="display:none;">
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4146" title="唯美冬季雪景森林小屋矢量背景"><span>[网站素材]</span><span>唯美冬季雪景森林小屋矢量背景</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4145" title="2026新年派对庆祝矢量素材"><span>[网站素材]</span><span>2026新年派对庆祝矢量素材</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4144" title="美味冰激凌宣传卡模板设计下载"><span>[网站素材]</span><span>美味冰激凌宣传卡模板设计下载</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4143" title="2026新年加载进度条矢量图片"><span>[网站素材]</span><span>2026新年加载进度条矢量图片</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4142" title="创意工作室营业海报设计素材下载"><span>[网站素材]</span><span>创意工作室营业海报设计素材下载</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4141" title="国潮中式锦鲤荷塘矢量背景"><span>[网站素材]</span><span>国潮中式锦鲤荷塘矢量背景</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4140" title="复古红色咖啡促销海报矢量模板"><span>[网站素材]</span><span>复古红色咖啡促销海报矢量模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4139" title="2026新年快乐竖版海报PSD模板设计下载"><span>[网站素材]</span><span>2026新年快乐竖版海报PSD模板设计下载</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4138" title="孟菲斯几何2026新年贺卡矢量"><span>[网站素材]</span><span>孟菲斯几何2026新年贺卡矢量</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4137" title="珠宝饰品折扣感谢卡ps素材下载"><span>[网站素材]</span><span>珠宝饰品折扣感谢卡ps素材下载</span> </a>
									</div>
								</li>
													</ul>
						<ul class="fourf" style="display:none;">
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8590"  title="驾照考试驾校HTML5网站模板"><span>[前端模板]</span><span>驾照考试驾校HTML5网站模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8589"  title="驾照培训服务机构宣传网站模板"><span>[前端模板]</span><span>驾照培训服务机构宣传网站模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8588"  title="HTML5房地产公司宣传网站模板"><span>[前端模板]</span><span>HTML5房地产公司宣传网站模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8587"  title="新鲜有机肉类宣传网站模板"><span>[前端模板]</span><span>新鲜有机肉类宣传网站模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8586"  title="响应式天气预报宣传网站模板"><span>[前端模板]</span><span>响应式天气预报宣传网站模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8585"  title="房屋建筑维修公司网站CSS模板"><span>[前端模板]</span><span>房屋建筑维修公司网站CSS模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8584"  title="响应式志愿者服务网站模板"><span>[前端模板]</span><span>响应式志愿者服务网站模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8583"  title="创意T恤打印店网站HTML5模板"><span>[前端模板]</span><span>创意T恤打印店网站HTML5模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8582"  title="网页开发岗位简历作品展示网页模板"><span>[前端模板]</span><span>网页开发岗位简历作品展示网页模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8581"  title="响应式人力资源机构宣传网站模板"><span>[前端模板]</span><span>响应式人力资源机构宣传网站模板</span> </a>
									</div>
								</li>
													</ul>
					</div>
					<script>
						$('.hdTabs>div').click(function (e) {
							$('.hdTabs>div').removeClass('check')
							$(this).addClass('check')
							$('.hotdownTab>ul').css('display', 'none')
							$('.' + e.currentTarget.dataset.id).show()
						})
					</script>

				</div>

				<div class="artrig-adv ">
					<script type="text/javascript" src="https://teacher.php.cn/php/MDM3MTk1MGYxYjI5ODJmNTE0ZWVkZTA3NmJhYzhmMjI6Og=="></script>
                </div>



				<div class="xgarts ">
					<div class="rightdTitle flexRow">
						<div class="title-left flexRow"> <b></b>
							<p>相关下载</p>
						</div>
						<a target="_blank" class="rititle-more flexRow" href="/xiazai" title="相关下载"><span>更多</span><b></b></a>
					</div>
					<div class="xgwzlist ">
											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="PHP5学习对象教程" href="/xiazai/learn/2588">PHP5学习对象教程</a></div>
											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="PHP5 和 MySQL 圣经" href="/xiazai/learn/2587">PHP5 和 MySQL 圣经</a></div>
											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="PHP与MySQL程序设计3" href="/xiazai/learn/2529">PHP与MySQL程序设计3</a></div>
										</div>

				</div>

				<div class="jpkc">
					<div class="rightdTitle flexRow">
						<div class="title-left flexRow"> <b></b>
							<p>精品课程</p>
						</div>
						<a class="rititle-more flexRow" target="_blank" href="/course/sort_new.html" title="精品课程"><span>更多</span><b></b></a>
					</div>
					<div class=" jpkcTab">
						<div class=" jpkcTabs flexRow">
							<div class="check" data-id="onefd">相关推荐 <b></b> </div> /
							<div class="" data-id="twofd">热门推荐 <b></b></div> /
							<div class="" data-id="threefd">最新课程 <b></b></div>
						</div>
						<div class="onefd jpktabd">
													<div  class="ristyA flexRow " >
								<a target="_blank" href="/course/1509.html" title="前端项目-尚优选【HTML/CSS/JS技术综合实战】">
									<img src="https://img.php.cn/upload/course/000/000/068/63bfcb2974f91471.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="前端项目-尚优选【HTML/CSS/JS技术综合实战】" class="ristyAimg"
										onerror="this.src='/static/mobimages/moren/morentu.png'">
								</a>
								<div class="ristyaRight flexColumn">
									<a target="_blank" href="/course/1509.html" title="前端项目-尚优选【HTML/CSS/JS技术综合实战】"
										class="rirightp overflowclass">前端项目-尚优选【HTML/CSS/JS技术综合实战】</a>

									<div class="risrdown flexRow">
										<p>共39课时 | 3.9万人学习</p>
									</div>
								</div>
							</div>
													<div  class="ristyA flexRow " >
								<a target="_blank" href="/course/1506.html" title="WEB前端教程【HTML5+CSS3+JS】">
									<img src="https://img.php.cn/upload/course/000/000/068/63ba60c8da520536.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="WEB前端教程【HTML5+CSS3+JS】" class="ristyAimg"
										onerror="this.src='/static/mobimages/moren/morentu.png'">
								</a>
								<div class="ristyaRight flexColumn">
									<a target="_blank" href="/course/1506.html" title="WEB前端教程【HTML5+CSS3+JS】"
										class="rirightp overflowclass">WEB前端教程【HTML5+CSS3+JS】</a>

									<div class="risrdown flexRow">
										<p>共101课时 | 8.1万人学习</p>
									</div>
								</div>
							</div>
													<div  class="ristyA flexRow " >
								<a target="_blank" href="/course/1488.html" title="JS进阶与BootStrap学习">
									<img src="https://img.php.cn/upload/course/000/000/068/638702e2c8dda719.png?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="JS进阶与BootStrap学习" class="ristyAimg"
										onerror="this.src='/static/mobimages/moren/morentu.png'">
								</a>
								<div class="ristyaRight flexColumn">
									<a target="_blank" href="/course/1488.html" title="JS进阶与BootStrap学习"
										class="rirightp overflowclass">JS进阶与BootStrap学习</a>

									<div class="risrdown flexRow">
										<p>共39课时 | 3.1万人学习</p>
									</div>
								</div>
							</div>
												</div>

						<div class="twofd jpktabd" style="display:none;">
															<div  class="ristyA flexRow " >
									<a target="_blank" href="/course/1656.html" title="JavaScript ES5基础线上课程教学">
										<img src="https://img.php.cn/upload/course/000/000/081/6862652adafef801.png?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="JavaScript ES5基础线上课程教学" class="ristyAimg"
											onerror="this.src='/static/mobimages/moren/morentu.png'">
									</a>
									<div class="ristyaRight flexColumn">
										<a target="_blank" href="/course/1656.html" title="JavaScript ES5基础线上课程教学"
											class="rirightp overflowclass">JavaScript ES5基础线上课程教学</a>

										<div class="risrdown flexRow">
											<p>共6课时 | 6.9万人学习</p>
										</div>
									</div>
								</div>
															<div  class="ristyA flexRow " >
									<a target="_blank" href="/course/812.html" title="最新ThinkPHP 5.1全球首发视频教程(60天成就PHP大牛线上培训班课)">
										<img src="https://img.php.cn/upload/course/000/000/041/620debc3eab3f377.jpg?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="最新ThinkPHP 5.1全球首发视频教程(60天成就PHP大牛线上培训班课)" class="ristyAimg"
											onerror="this.src='/static/mobimages/moren/morentu.png'">
									</a>
									<div class="ristyaRight flexColumn">
										<a target="_blank" href="/course/812.html" title="最新ThinkPHP 5.1全球首发视频教程(60天成就PHP大牛线上培训班课)"
											class="rirightp overflowclass">最新ThinkPHP 5.1全球首发视频教程(60天成就PHP大牛线上培训班课)</a>

										<div class="risrdown flexRow">
											<p>共79课时 | 150.7万人学习</p>
										</div>
									</div>
								</div>
															<div  class="ristyA flexRow " >
									<a target="_blank" href="/course/639.html" title="phpStudy极速入门视频教程">
										<img src="https://img.php.cn/upload/course/000/000/068/62611ef88fcec821.jpg?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="phpStudy极速入门视频教程" class="ristyAimg"
											onerror="this.src='/static/mobimages/moren/morentu.png'">
									</a>
									<div class="ristyaRight flexColumn">
										<a target="_blank" href="/course/639.html" title="phpStudy极速入门视频教程"
											class="rirightp overflowclass">phpStudy极速入门视频教程</a>

										<div class="risrdown flexRow">
											<p>共6课时 | 53.3万人学习</p>
										</div>
									</div>
								</div>
													</div>

						<div class="threefd jpktabd" style="display:none;">
															<div  class="ristyA flexRow " >
										<a target="_blank" href="/course/1696.html" title="最新Python教程 从入门到精通">
											<img src="https://img.php.cn/upload/course/000/000/081/68c135bb72783194.png?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="最新Python教程 从入门到精通" class="ristyAimg"
												onerror="this.src='/static/mobimages/moren/morentu.png'">
										</a>
										<div class="ristyaRight flexColumn">
											<a target="_blank" href="/course/1696.html" title="最新Python教程 从入门到精通"
												class="rirightp overflowclass">最新Python教程 从入门到精通</a>

											<div class="risrdown flexRow">
												<p>共4课时 | 0.6万人学习</p>
											</div>
										</div>
									</div>
																<div  class="ristyA flexRow " >
										<a target="_blank" href="/course/1656.html" title="JavaScript ES5基础线上课程教学">
											<img src="https://img.php.cn/upload/course/000/000/081/6862652adafef801.png?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="JavaScript ES5基础线上课程教学" class="ristyAimg"
												onerror="this.src='/static/mobimages/moren/morentu.png'">
										</a>
										<div class="ristyaRight flexColumn">
											<a target="_blank" href="/course/1656.html" title="JavaScript ES5基础线上课程教学"
												class="rirightp overflowclass">JavaScript ES5基础线上课程教学</a>

											<div class="risrdown flexRow">
												<p>共6课时 | 6.9万人学习</p>
											</div>
										</div>
									</div>
																<div  class="ristyA flexRow " >
										<a target="_blank" href="/course/1655.html" title="PHP新手语法线上课程教学">
											<img src="https://img.php.cn/upload/course/000/000/081/684a8c23d811b293.png?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="PHP新手语法线上课程教学" class="ristyAimg"
												onerror="this.src='/static/mobimages/moren/morentu.png'">
										</a>
										<div class="ristyaRight flexColumn">
											<a target="_blank" href="/course/1655.html" title="PHP新手语法线上课程教学"
												class="rirightp overflowclass">PHP新手语法线上课程教学</a>

											<div class="risrdown flexRow">
												<p>共13课时 | 0.8万人学习</p>
											</div>
										</div>
									</div>
														</div>
						<script>
							$('.jpkcTabs>div').click(function (e) {
								$('.jpkcTabs>div').removeClass('check')
								$(this).addClass('check')
								$('.jpkcTab .jpktabd').css('display', 'none')
								$('.' + e.currentTarget.dataset.id).show()
							})
						</script>

					</div>
				</div>

				<div class="zxarts ">
					<div class="rightdTitle flexRow">
						<div class="title-left flexRow"> <b></b>
							<p>最新文章</p>
						</div>
						<a class="rititle-more flexRow" href="" title="最新文章" target="_blank"><span>更多</span><b></b></a>
					</div>
					<div class="xgwzlist ">
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="如何用JavaScript进行数据可视化_chart.js和D3.js怎么选" href="/faq/1919749.html">如何用JavaScript进行数据可视化_chart.js和D3.js怎么选</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="JavaScript如何实现语音合成_怎样将文本转为语音?" href="/faq/1919730.html">JavaScript如何实现语音合成_怎样将文本转为语音?</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="Javascript中的Symbol类型有什么用途?" href="/faq/1919690.html">Javascript中的Symbol类型有什么用途?</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="JavaScript中如何操作节点_NodeList和HTMLCollection有何区别" href="/faq/1919674.html">JavaScript中如何操作节点_NodeList和HTMLCollection有何区别</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="Tailwind CSS 任意值类选择器特异性问题的解决方案" href="/faq/1919657.html">Tailwind CSS 任意值类选择器特异性问题的解决方案</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="如何从 MongoDB 嵌套数组中精准投影指定字段(如 name)" href="/faq/1919652.html">如何从 MongoDB 嵌套数组中精准投影指定字段(如 name)</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="Tailwind CSS 任意值类选择器的优先级问题与解决方案" href="/faq/1919598.html">Tailwind CSS 任意值类选择器的优先级问题与解决方案</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="javascript如何解析XML数据_现在还有必要学习它吗?" href="/faq/1919590.html">javascript如何解析XML数据_现在还有必要学习它吗?</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="Tailwind CSS 中任意值类的特异性问题及解决方案" href="/faq/1919572.html">Tailwind CSS 中任意值类的特异性问题及解决方案</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="如何创建类_Javascript的ES6类语法是什么" href="/faq/1919571.html">如何创建类_Javascript的ES6类语法是什么</a></div>
											</div>

				</div>






			</div>



		</div>

	</div>
	<!--底部-->
	<div class="phpFoot">
    <div class="phpFootIn">
        <div class="phpFootCont">
            <div class="phpFootLeft">
                <dl>
                    <dt>
                        <a target="_blank"  href="/about/us.html" rel="nofollow"  title="关于我们" class="cBlack">关于我们</a>
                        <a target="_blank"  href="/about/disclaimer.html" rel="nofollow"  title="免责申明" class="cBlack">免责申明</a>
                        <a target="_blank"  href="/about/jbzx.html" rel="nofollow"  title="举报中心" class="cBlack">举报中心</a>
                        <a   href="javascript:;" rel="nofollow" onclick="advice_data(99999999,'意见反馈')"   title="意见反馈" class="cBlack">意见反馈</a>
                        <a target="_blank"  href="https://www.php.cn/teacher.html" rel="nofollow"   title="讲师合作" class="cBlack">讲师合作</a>
                        <a  target="_blank" href="https://www.php.cn/blog/detail/20304.html" rel="nofollow"  title="广告合作" class="cBlack">广告合作</a>
                        <a  target="_blank" href="/new/"    title="最新文章列表" class="cBlack">最新更新</a>
                                                <div class="clear"></div>
                    </dt>
                    <dd class="cont1">php中文网:公益在线php培训,帮助PHP学习者快速成长!</dd>
                    <dd class="cont2">
                      <span class="ylwTopBox">
                        <a   href="javascript:;"  class="cBlack"><b class="icon1"></b>关注服务号</a>
                        <em style="display:none;" class="ylwTopSub">
                          <p>微信扫码<br/>关注PHP中文网服务号</p>
                          <img src="/static/images/examples/text16.png"/>
                        </em>
                      </span>
                        <span class="ylwTopBox">
                        <a   href="tencent://message/?uin=27220243&Site=www.php.cn&Menu=yes"  class="cBlack"><b class="icon2"></b>技术交流群</a>
                        <em style="display:none;" class="ylwTopSub">
                          <p>QQ扫码<br/>加入技术交流群</p>
                          <img src="/static/images/examples/text18.png"/>
                        </em>
                      </span>
                        <div class="clear"></div>
                    </dd>
                </dl>
                
            </div>
            <div class="phpFootRight">
                <div class="phpFootMsg">
                    <span><img src="/static/images/examples/text17.png"/></span>
                    <dl>
                        <dt>PHP中文网订阅号</dt>
                        <dd>每天精选资源文章推送</dd>
                    </dl>
                </div>
            </div>
        </div>
    </div>
    <div class="phpFootCode">
        <div class="phpFootCodeIn"><p>Copyright 2014-2026 <a   href="https://www.php.cn/" >https://www.php.cn/</a> All Rights Reserved | php.cn | <a   href="https://beian.miit.gov.cn/" rel="nofollow" >湘ICP备2023035733号</a></p><a   href="http://www.beian.gov.cn/portal/index.do" rel="nofollow" ><b></b></a></div>
    </div>
</div>
<input type="hidden" id="verifycode" value="/captcha.html">
<script>
    var _hmt = _hmt || [];
    (function() {
        var hm = document.createElement("script");
        hm.src = "https://hm.baidu.com/hm.js?c0e685c8743351838d2a7db1c49abd56";
        var s = document.getElementsByTagName("script")[0];
        s.parentNode.insertBefore(hm, s);
    })();
</script>
<script>layui.use(['element', 'carousel'], function () {var element = layui.element;$ = layui.jquery;var carousel = layui.carousel;carousel.render({elem: '#test1', width: '100%', height: '330px', arrow: 'always'});$.getScript('/static/js/jquery.lazyload.min.js', function () {$("img").lazyload({placeholder: "/static/images/load.jpg", effect: "fadeIn", threshold: 200, skip_invisible: false});});});</script>

<span class="layui-hide"><script type="text/javascript" src="https://s4.cnzz.com/z_stat.php?id=1280886301&web_id=1280886301"></script></span>

<script src="/static/js/cdn.js?v=1.0.1"></script>



	<!--底部 end-->
	<!-- content -->
	<!--
    <div class="phpFudong">
        <div class="phpFudongIn">
            <div class="phpFudongImg"></div>
            <div class="phpFudongXue">登录PHP中文网,和优秀的人一起学习!</div>
            <div class="phpFudongQuan">全站<span>2000+</span>教程免费学</div>
            <div class="phpFudongCode"><a   href="javascript:;" id="login" title="微信扫码登录">微信扫码登录</a></div>
            <div class="phpGuanbi" onclick="$('.phpFudong').hide();"></div>
            <div class="clear"></div>
        </div>
    </div>
-->	<!--底部浮动层 end-->
	<!--侧导航-->
	<style>
    .layui-fixbar{display: none;}
</style>
<div class="phpSdhBox" style="height:240px !important;">
    <li>
        <div class="phpSdhIn">
            <div class="phpSdhTitle">
                <a   href="/k24.html"  class="hover" title="PHP学习">
                    <b class="icon1"></b>
                    <p>PHP学习</p>
                </a>
            </div>
        </div>
    </li>
    <li>
        <div class="phpSdhIn">
            <div class="phpSdhTitle">
                <a   href="https://www.php.cn/blog/detail/1047189.html" >
                    <b class="icon2"></b>
                    <p>技术支持</p>
                </a>
            </div>
        </div>
    </li>
    <li>
        <div class="phpSdhIn">
            <div class="phpSdhTitle">
                <a   href="#">
                    <b class="icon6"></b>
                    <p>返回顶部</p>
                </a>
            </div>
        </div>
    </li>
</div>
	</body>

</html>

<script type="text/javascript" src="/hitsUp?type=article&id=1379916&time=1767267074">
</script>
<script src="/static/ueditor/third-party/SyntaxHighlighter/shCore.js?1767267074"></script>
<script>
	article_status = "1522157";
</script>
<input type="hidden" id="verifycode" value="/captcha.html">
<script type="text/javascript" src="/static/js/global.min.js?5.5.33"></script>
<link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css?2' type='text/css' media='all' />
<script type='text/javascript' src='/static/js/viewer.min.js?1'></script>
<script type='text/javascript' src='/static/js/jquery-viewer.min.js'></script>
<script type="text/javascript" src="/static/js/jquery.cookie.js"></script>
<script>var _hmt = _hmt || [];(function(){var hm = document.createElement("script");hm.src="//hm.baidu.com/hm.js?c0e685c8743351838d2a7db1c49abd56";var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(hm, s);})();(function(){var bp = document.createElement('script');var curProtocol = window.location.protocol.split(':')[0];if(curProtocol === 'https'){bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';}else{bp.src = 'http://push.zhanzhang.baidu.com/push.js';};var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(bp, s);})();</script>
	

<script>
	function setCookie(name, value, iDay) { //name相当于键,value相当于值,iDay为要设置的过期时间(天)
		var oDate = new Date();
		oDate.setDate(oDate.getDate() + iDay);
		document.cookie = name + '=' + value + ';path=/;domain=.php.cn;expires=' + oDate;
	}

	function getCookie(name) {
		var cookieArr = document.cookie.split(";");
		for (var i = 0; i < cookieArr.length; i++) {
			var cookiePair = cookieArr[i].split("=");
			if (name == cookiePair[0].trim()) {
				return decodeURIComponent(cookiePair[1]);
			}
		}
		return null;
	}
</script>


<!-- Matomo -->
<script>
	var _paq = window._paq = window._paq || [];
	/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
	_paq.push(['trackPageView']);
	_paq.push(['enableLinkTracking']);
	(function () {
		var u = "https://tongji.php.cn/";
		_paq.push(['setTrackerUrl', u + 'matomo.php']);
		_paq.push(['setSiteId', '7']);
		var d = document,
			g = d.createElement('script'),
			s = d.getElementsByTagName('script')[0];
		g.async = true;
		g.src = u + 'matomo.js';
		s.parentNode.insertBefore(g, s);
	})();
</script>
<!-- End Matomo Code -->

<script>
	setCookie('is_article', 1, 1);
</script>

<script>
	var is_login = "0";
        var show = 0;
        var ceng = getCookie('ceng');
        //未登录复制显示登录按钮
        if(is_login == 0 && false){
            $(".code").hover(function(){
                $(this).find('.contentsignin').show();
            },function(){
                $(this).find('.contentsignin').hide();
            });
            //不给复制
            $('.code').bind("cut copy paste",function(e) {
                e.preventDefault();
            });
            $('.code .contentsignin').click(function(){
                $(document).trigger("api.loginpopbox");
            })
        }else{
            // 获取所有的 <pre> 元素
            var preElements = document.querySelectorAll('pre');
            preElements.forEach(function(preElement) {
                // 创建复制按钮
                var copyButton = document.createElement('button');
                copyButton.className = 'copy-button';
                copyButton.textContent = '复制';
                // 添加点击事件处理程序
                copyButton.addEventListener('click', function() {
                    // 获取当前按钮所属的 <pre> 元素中的文本内容
                    var textContent = preElement.textContent.trim();
                    // 创建一个临时 textarea 元素并设置其值为 <pre> 中的文本内容
                    var tempTextarea = document.createElement('textarea');
                    tempTextarea.value = textContent;
                    // 将临时 textarea 添加到文档中
                    document.body.appendChild(tempTextarea);
                    // 选中临时 textarea 中的文本内容并执行复制操作
                    tempTextarea.select();
                    document.execCommand('copy');
                    // 移除临时 textarea 元素
                    document.body.removeChild(tempTextarea);
                    // 更新按钮文本为 "已复制"
                    this.textContent = '已复制';
                });

                // 创建AI写代码按钮
                var aiButton = document.createElement('button');
                aiButton.className = 'copy-button';
                aiButton.textContent = 'AI写代码';
                aiButton.style.marginLeft = '5px';
                aiButton.style.marginRight = '5px';
                // 添加点击事件处理程序
                aiButton.addEventListener('click', function() {
                // Generate a random number between 0 and 1
                        var randomChance = Math.random();

                    // If the random number is less than 0.5, open the first URL, else open the second
                    if (randomChance < 0.5) {
                        window.open('https://www.doubao.com/chat/coding?channel=php&source=hw_db_php', '_blank');
                    } else {
                        window.open('https://click.aliyun.com/m/1000402709/', '_blank');
                    }
                });

                // 将按钮添加到 <pre> 元素前面
                preElement.parentNode.insertBefore(copyButton, preElement);
                preElement.parentNode.insertBefore(aiButton, preElement);
        });
        }
</script>