Javascript Jquery如果字符串与数组中的值匹配

Javascript Jquery如果字符串与数组中的值匹配,javascript,jquery,Javascript,Jquery,我的网站上的产品页面在一个字符串中显示#productID,即“productID:743961”。我想使用jQuery获取这个#productID字符串,并将其与ID数组进行比较。如果#productID与数组中的ID匹配,我想附加一条消息 <div id="productID"> Product ID: 743961 </div> 我的阵列有2000多个项目,因此这可能不是最佳解决方案。我知道Ajax是最好的解决方案,但我无法在这种情况下使用它。对于如此大的阵列,A

我的网站上的产品页面在一个字符串中显示
#productID
,即“productID:743961”。我想使用jQuery获取这个
#productID
字符串,并将其与ID数组进行比较。如果
#productID
与数组中的ID匹配,我想附加一条消息

<div id="productID"> Product ID: 743961 </div>

我的阵列有2000多个项目,因此这可能不是最佳解决方案。我知道Ajax是最好的解决方案,但我无法在这种情况下使用它。

对于如此大的阵列,Ajax似乎是更好的解决方案。但是,如果必须使用此模式,则首先需要从元素的文本中获取productId值,然后确定它是否存在于数组中。大概是这样的:

var productId = $.trim($('#productID').text().split(':')[1]);
if ($.inArray(productId, myArray) >= 0)
    $('#prod_code').css('text-decoration', 'underline');

这显然是一个相当简单的示例,您很可能需要对productId的提取进行更多验证,以使其更加健壮。

我更喜欢这一点,而不是我的解决方案+1。运行数千个选择器匹配将非常昂贵。感谢您的回复。我知道Ajax将是这个例子的最佳解决方案,但我无法在这个例子中使用它,因为我对FTP的访问有限。您需要修复ID以及if语句。$。如果未找到,inArray将返回-1,否则索引将返回-1。因此,在您的示例中,如果数组与第一个元素匹配,则当您希望为true时,将返回0和false。此外,trim返回一个字符串。像这样谢谢你提出这些问题@j08691,我已经更新了答案。
var productId = $.trim($('#productID').text().split(':')[1]);
if ($.inArray(productId, myArray) >= 0)
    $('#prod_code').css('text-decoration', 'underline');