我有一个div列表,我从一个包含唯一文本的插件中获取。我有一个可点击的地图,当点击某些部分时,将在页面中搜索文本,如果找到,应滚动到它。代码将直接嵌入WordPress管理编辑页面部分。我尝试使用:contains(string)找到字符串
$("div:contains('text')")
但我不知道如何滚动它。返回的多个div都具有相同的类名,没有id,因此我无法单独访问它们。任何帮助或提示表示赞赏。
答案 0 :(得分:0)
有可能其他人可能知道你可以直接滚动到一段文字的方式,但一般来说,当你编写javascript滚动到文档中的某些内容时,它会根据offsetTop属性滚动一个容器。如果同一个div中没有两个独特的文本,那么你将需要使用一些正则表达式(我不是很强大)来找到包含该字符串的第一个开始和结束标记。然后,您需要获取这些标记的ID,并使用该ID来查找divs offsetTop属性。根据您的独特文本是否直接在容器中滚动或不滚动,这可能会变得越来越复杂。
我在发布此文章后不久意识到的另一个解决方案是,您可以遍历匹配模式的每个元素。如果您知道您的唯一文本将始终位于具有“unique”类的div中,并且您将永远不会在该div中有两个匹配的文本,则可以使用for“class”来迭代所有div循环并检查字符串是否存在。
答案 1 :(得分:0)
当你找到它所在的元素时,你可以用它滚动到它:
sitelinks