javascript 相关问题

JavaScript(不要与Java混淆)是一种高级,动态,多范式,面向对象,基于原型的弱类型语言,用于客户端和服务器端脚本。它的主要用途是渲染和操作网页。使用此标记可以了解有关ECMAScript及其各种方言/实现的问题(不包括ActionScript和Google-Apps-Script)。

在电子商务网站上按商品价格对商品进行排序?

我正在尝试使用Javascript的getAttribute来获取商品价格。我是个大菜鸟,所以我只是使用 getAttribute 并将 类更改为商品价格。这只抓取第一个项目 我正在尝试使用Javascript的getAttribute来获取商品价格。我是个大菜鸟,所以我只使用了 getAttribute 并将 <h2> 类更改为商品价格。不过,这只获取第一个商品的价格,我怎样才能让它获取所有价格并将它们存储为数组以进行排序或其他内容? 这是我的一些 HTML: <div class="col-sm-4"> <div class="product-image-wrapper"> <div class="single-products"> <div class="productinfo text-center"> <img src="images\site_images\bag3.jpg" alt="" height="249" /> <h2 class="881.10">$881.10</h2> <h5>Authentic New Gucci ($1690) Micro-GG "Vernice" Crossbody w/Strap #309617, NWT</h5> <a href="#" class="btn btn-default add-to-cart"><i class="fa fa-shopping-cart"></i>Add to Cart</a> </div> <div class="col-sm-4"> <div class="product-image-wrapper"> <div class="single-products"> <div class="productinfo text-center"> <img src="images\site_images\bag4.jpg" alt="" height="249" /> <h2 class="569.05">$569.05</h2> <h5>AUTHENTIC NWT ($819) Gucci GG Large Brown Denim Tassell Tote #336660, w/Gft Rcpt</h5> <a href="#" class="btn btn-default add-to-cart"><i class="fa fa-shopping-cart"></i>Add to Cart</a> </div> <div class="col-sm-4"> <div class="product-image-wrapper"> <div class="single-products"> <div class="productinfo text-center"> <img src="images\site_images\bag5.jpg" alt="" height="249" /> <h2 class="559.00">$559.00</h2> <h5>Authentic Gucci GG Micro-Guccissima Leather Tote #309613 w/Gft Rcpt,NWT</h5> <a href="#" class="btn btn-default add-to-cart"><i class="fa fa-shopping-cart"></i>Add to Cart</a> </div> 和 <button onclick="myFunction()">Try it</button> <p id="demo"></p> 这是我用来获取商品价格的 Javascript 代码: function myFunction() { var x = document.getElementsByTagName("H2")[0].getAttribute("class"); document.getElementById("demo").innerHTML = x; } 如您所见,我是一个巨大的新手,所以请尽量让您的答案不要那么复杂。 :) 谢谢! 将价格保存到数组中,然后使用 .sort() 对数组进行排序。请注意, .sort() 函数默认按字母顺序排序,因此您必须为整数编写自己的比较器函数。例如,按升序排序: function sortNumber(a,b) { return a - b; } 将所有价格保存到数组后,迭代该数组并使用一元加号将它们转换为数字: var items = document.getElementsByTagName("H2"); var prices = []; for(var i = 0; i < items.length; i++){ prices.push( +items[i].getAttribute("class")); } 或者,您可以使用 .parseInt()。 请参阅此处的示例:http://codepen.io/anon/pen/VeKyMe 为什么首先要将价格值存储为类属性?这样做就违背了 class 属性的主要目的,即对共享共同点的元素进行分组。 我建议对所有包含价格的标签使用相同的类属性值,例如: ... <h2 class="price">$111.11</h2> ... <h2 class="price">$222.22</h2> ... 然后,您可以在一次调用中获取属于同一类的所有元素,并迭代它们: javascript: var items = getElementsByClassName('price') jQuery: var items = $('.price') 如果出于任何原因,将值存储在某些属性中对您来说很重要,您可以使用自定义 data- 属性,例如: <h2 class="price" data-value="111.11">$111.11</h2> 稍后可以访问: javascript: <element>.getAttribute('data-value') jQuery: <element>.data('value');

回答 2 投票 0

TestCafe 期望文本等于以下内容之一

我正在编写一个测试,如果用户单击按钮,则应该只会发生 2 个场景(文本)。 例如 等待 .click('按钮') .expect(Selector('div#result').textCon...

回答 1 投票 0

根据另一个对象数组过滤一个对象数组(有序)

这是我的数据: arrayA= [{"studentID":1,"Type":"A"},{"studentID":2,"Type":"B"},{"studentID":3,"Type":"C"} ,...

回答 1 投票 0

如何在React JS中创建受保护的路由?

我已经在 React JS 中创建了页面导航的路由,现在我想保护其中一些路由,就像我希望其中一些仅在用户登录时才能访问。 const [isLoggedIn, setIsLoggedIn] =

回答 1 投票 0

主机名和 IP 的正则表达式

我正在尝试找到一个正则表达式来验证 IP 地址,以及一个用于验证 Javascript 中的主机名的正则表达式。 我在这里和其他地方查看了很多帖子,但找不到适合我需要的帖子。 对于我找到的IP...

回答 2 投票 0

如何使用“浪漫标准时间”设置时区?

我有 UTC 日期字符串“2022-01-06T13:35:00Z”和时区字符串“Romance Standard Time”。如何在 JavaScript(在浏览器中)中使用该时区字符串,以便我可以...

回答 2 投票 0

如果设置了会话变量,Javascript React 重定向

我正在使用反应。我有一个登录页面,如果变量设置为 true,我不希望用户能够访问该登录页面。 我在用户登录并将变量设置为 true 后使用 sessionStorage:

回答 3 投票 0

在 javascript 中反转字符串

我借用了一段JavaScript中反转字符串的代码。然而这是做不到的。 我借用了一段 JavaScript 中反转字符串的代码。然而却做不到。 <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>P4--Largest palindrome product</title> </head> <body> <!--A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 × 99. Find the largest palindrome made from the product of two 3-digit numbers. --> <script type="text/javascript"> var newdiv = document.createElement('div'); newdiv.innerHTML=Palindromic(); alert(Palindromic()); function Palindromic(){ var x; var a; var b; for(i=999*999;i>=100*100;i--) { x=i.toString(); if(x != x.reverse()) continue; else { for(j=100;j<999;j++) { if(i%j == 0) { var y =i/j; if(y>=100 && y<=999) { a=i;b=y; break; } } } } } return x; } String.prototype.reverse = function() { return this.split('').reverse().join(''); } </script> </body> </html> 错误是“没有‘反向’方法”。 使用之前需要先定义String.prototype.reverse函数。 输入此代码 String.prototype.reverse = function() { return this.split('').reverse().join(''); } 在顶部而不是在底部。 ES6: 试试这个功能 function reverse(str) { // 1 // // 2 // // 3 // return [...str].reverse().reduce((rev,el) => rev + el,''); } 将字符串扩展到字符数组中 反转数组 数组上的reduce方法获取前一个值并累加。 这是最简单的方法: // reverse a string function reverseString(str) { return str.split('').reverse().join(''); } const reversedString = reverseString('hello world'); console.log(reversedString); // this would be logged as 'dlrow olleh' 探索 JavaScript 中反转字符串的多种方法 反转字符串是编程中的一项常见任务,在 JavaScript 中有多种方法可以实现此目的。让我们探索五种不同的方法并讨论它们的实现和效率。 1。使用循环(方法 1) 第一种方法采用简单的循环来迭代字符串,并通过以相反的顺序附加原始字符串中的字符来构造反向版本。在此处输入代码 const reverseByLoop = (str) => { let reversed = ""; for (let i = 0; i < str.length; i++) { reversed = str[i] + reversed; } return reversed; }; 这种方法简单直观,但由于循环内的串联操作,它可能不是大字符串的最有效解决方案。 2。使用循环(方法 2) 与第一种方法类似,此方法通过从字符串末尾迭代到开头并将字符附加到反转的字符串来反转字符串。 const reverseByLoop1 = (str) => { let reversed = ""; for (let i = str.length - 1; i >= 0; i--) { reversed = reversed + str[i]; } return reversed; }; 虽然这种方法的时间复杂度也为 O(n),但它的性能可能比第一种方法稍好,因为它避免了循环内的字符串连接。 3.使用循环(方法 3) 此方法不使用基于索引的循环,而是利用 for...of 循环来迭代字符串的每个字符并构建反向字符串。 const reverseByLoopOf = (str) => { let reversed = ""; for (let char of str) { reversed = char + reversed; } return reversed; }; 虽然在概念上与第一种方法类似,但此方法提供了更清晰的语法和可读性。 4。使用字符串方法 这种方法利用 split()、reverse() 和 join() 等内置字符串方法在一行代码中反转字符串。 const reverseByStringMethod = (str) => { return str.split("").reverse().join(""); }; 虽然简洁且优雅,但由于创建数组的开销,此方法可能不如基于循环的大字符串方法那么高效。 5。使用递归 递归方法通过使用不包括第一个字符的子字符串递归调用函数来反转字符串,直到整个字符串反转。 const recursiveReverse = (str) => { let result = ""; if (!str) { return ""; } else { result = recursiveReverse(str.substr(1)) + str[0]; return result; } };

回答 4 投票 0

Promise 在 Web Worker 中可用吗?

根据Web Worker MDN文档(https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Functions_and_classes_available_to_workers),Promise不在可用列表中。 但当我...

回答 1 投票 0

如何在 javascript 中反转字符串

我有如下字符串: ABCDEFGH 我想像下面这样反转它: GHEFCDAB 我试过这个: var str = "ABCDEFGH"; var splitString = str.split(""); var反向数组= splitString。

回答 5 投票 0

mongoose findAndUpdate 与判别器

我有多种类型的产品,例如手机、笔记本电脑、耳机等。所有这些产品最终的结果都是你一个广义的ProductsModel 产品型号 导入 { 架构,m...

回答 1 投票 0

在 javascript 中使用替换方法时 Promise 返回 [object Promise]

我尝试了下面的代码,其中发生了内部替换方法 fetch api 调用,并且它返回响应并基于返回的响应。但问题是它返回 [object Promise] .repla...

回答 1 投票 0

使用rejectWithValue将原始错误对象发送到中间件

我有一个中间件,专门对两种类型的请求状态代码做出反应。我还有一堆看起来像这样的重击: const updateUser = createAsyncThunk( '用户/更新', asy...

回答 1 投票 0

如何在javascript中访问函数外部的then((title))值

我正在编写 cypress javascript 代码,并尝试从标题中访问标题属性值并将值存储到标题中。 当我打印 cy.log("标题属性: ", title);有用。但我想要...

回答 1 投票 0

PDF.js 中 isEvalSupported 选项的安全隐患是什么

PDF.js库有一个选项isEvalSupported,其说明如下: (可选)确定我们是否可以将字符串作为 JS 进行评估。主要用于 提高字体渲染性能,...

回答 2 投票 0

当我尝试使用 tanstack 查询调用时,没有与此调用匹配的重载

所以我试图调用数据库中的单个数据,当我使用 useEffect 挂钩时它工作成功,但现在,我正在尝试学习 tanstack@query。但当我尝试时出现错误...

回答 1 投票 0

如何提交表单 onkeyup 操作

我正在尝试保存表单 onkeyup 操作。我是 jQuery 新手。 这可能吗? 我很感激任何帮助。 编辑1: 保存表单意味着保存到服务器。有没有办法增加0.2秒的延迟。

回答 4 投票 0

如何防止隐藏图表图例上的图表栏单击

如何防止在角度应用程序中单击图表图例上隐藏绘图图表栏。 如何防止在角度应用程序中单击图表图例上隐藏绘图图表栏。 <plotly-plot [divId]="graph.selectedGraph.name" [data]="graph.selectedGraph.data" [config]="graph.selectedGraph.config" [layout]="graph.selectedGraph.layout" (relayout)="draggedShape($event)" [ngClass]="{ 'single-data': graph.data && graph.data.length === 1 }" (legendClick)="launchColorPicker($event); $event.stopPropagation()" > </plotly-plot> 您需要使用 Plotly 或 event.preventDefault() 禁用默认的 return false 行为,因此在您的 launchColorPicker 函数中。 launchColorPicker(event: any) { // Your code ... if (event) { event.preventDefault ? event.preventDefault() : (event.returnValue = false); } return false; }

回答 1 投票 0

Javascript |使用 Promise.all 将请求拆分为块

我们正在尝试将请求分成多个块,因为外部 API 对每页可以显示的产品数量有限制。 假设我们总共有 113 个产品,但每页只显示 5 个...

回答 2 投票 0

前往轮播图像

var $item = $('.carousel .item'); var $wHeight = $(窗口).height(); $item.eq(0).addClass('active'); $item.height($wHeight); $item.addClass('全屏'); $(窗口).on('调整大小', 函数 (){ $

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.