Javascript/JQuery疑难解答

Javascript/JQuery疑难解答,javascript,jquery,html,css,arrays,Javascript,Jquery,Html,Css,Arrays,在解释我的问题之前,我想向您展示我的Javascript的过程: 当您在输入栏中输入文本并按submit时,脚本将创建一个“div”,并将该文本放置在新创建的div中,并将其放入一个永久div(已经存在的div,而不是从javascript创建的div) 例如: $(".list").append('<div class="woof">' + '<div class="box">' + toAdd + '</div>' + '</div>');

在解释我的问题之前,我想向您展示我的Javascript的过程:

当您在输入栏中输入文本并按submit时,脚本将创建一个“div”,并将该文本放置在新创建的div中,并将其放入一个永久div(已经存在的div,而不是从javascript创建的div)

例如:

$(".list").append('<div class="woof">' + '<div class="box">' + toAdd + '</div>' + '</div>');
$(.list”).append(“”+“”+toAdd+“”+“”);
新创建的.woof和.box div被放入已经存在的
.list div
中。
toAdd
是来自输入值的文本

同时,Javascript将
toAdd
字符串输入到包含数组的变量中(例如:
Var theArray=[]
)。输入多个文本后,“theArray”变量数组将充满字符串(例如:
var theArray=[“喵”、“芝士汉堡”、“是”]
),而——如前所述——将这些字符串添加到HTML中(例如:So,这意味着HTML
也应该有“喵”、“芝士汉堡”等)。然后有一个脚本创建一个随机数,随机数从数组中选择一个字符串(例如:生成的随机数从数组中选择“是”)

我遇到的问题是创建一个Javascript/Jquery,从随机生成的数字中获取结果,并在HTML中找到它。我创建的脚本允许我成功地从数组中选择一个字符串,但我正试图使该选择在HTML列表中突出显示

例如,随机生成的数字从数组中选择“是”字符串。然后我想创建一个脚本,在HTML div中找到“Yes”,并突出显示它(使用CSS或etc),以便查看者可以看到该字符串被选中

所以,我遇到的问题是这句话上面的问题。我找不到一种方法将随机数生成的内容与HTML中的字符串连接起来。
希望这能解释它。

您可以使用jQuery.eq方法,该方法将元素缩小到特定索引的元素。基本上,索引是按元素在DOM中的显示顺序排列的

$(".list").find(".woof").eq(randNum).addClass("background-color");
或者另一种选择

textToFind = myArray[randNum];

$(".list").find("div:contains('" + textToFind + "')").addClass("background-color");
或者取决于你想要什么

$(".list").find("div:contains('" + textToFind + "')").parent().addClass("background-color");
编辑
在谷歌上搜索了一下(在评论部分)。 如果您不希望cheese与cheeseburger匹配,那么您可能需要创建自己的函数来缩小DOM元素的选择范围。我已经为你写了这封信,所以别担心。它也不区分大小写,所以如果您不希望,只需取出
.toLowerCase()
。它也不关心空白,因为如果你总是在没有空白的情况下声明它,你可以把它去掉

$('.list').find(".box").filter(function(){ 
  return $(this).text().trim().toLowerCase() === 'cheese';
}).addClass("background-blue");
或者在本例中,您可以通过woof类找到,这将为其提供背景色,而不是框

$('.list').find(".woof").filter(function(){ 
  return $(this).text().trim().toLowerCase() === 'cheese';
}).addClass("background-blue");
这是一把小提琴


顺便说一句,在使用上述示例时,请使用textToFind变量,而不是字符串
'cheese'
。(双关语。)

可能有点言过其实。。。但总比什么都没有好。看到更多的代码会容易得多。提交的JS,随机生成器,应用时等等。。。另外,在您提供的代码中,您已经将“woof”硬编码为div类。。。你不是说字符串“woof”是由用户创建的吗?Woops,我下意识地将“woof”作为字符串添加到数组中。我会改变的,呜!这就是它(第三个)!非常感谢你!没问题。很高兴我能帮上忙。有一个问题,“textToFind”没有区分,例如,“cheese”和“cheeseburger”,所以有没有办法让它更严格,这样它就不会突出显示任何包含“textToFind”的内容?好的,我花了一分钟,但请看我的编辑。这有用吗?