【发布时间】:2018-02-01 00:56:08
【问题描述】:
我正在编写一个 JavaScript 函数,它查看网页并用我创建的数组中的随机字符串替换价格的每个实例。每次我在网页上运行我的脚本时,都会从数组中选择一个不同的字符串,但它会为 replace 方法的每个实例选择相同的字符串。如何让每个替换选择一个随机数?实际上我曾经有过这个工作,但我不得不更改我的代码,现在它重复了相同的字符串。
这是我的代码:
$("*").each( function() { //go through each paragraph
var curr = $(this).html();
var price = Math.floor(Math.random() * pricesArray.length);
curr = curr.replace(/(\$[0-9]+\.[0-9]{2})+/g, pricesArray[price]);
console.log(curr);
$(this).html(curr); //update paragraph text
});
【问题讨论】:
-
您上面的脚本将为每个元素运行独立的随机化。如果您得到重复,则可能选择了相同的随机索引。此外,
$("*")选择器将针对页面上的每个元素。您可能需要一个不太具体的选择器。 -
@PaulRoub 我完全同意你的看法 - 我对 cs 很陌生,希望能够在任何网页上搜索所有“$”实例,以便我可以替换价格 - 我选择了 *因为我找不到更好的方法,而且不同的网站在不同类型的标签中都有自己的价格。
标签: javascript jquery html random