Javascript 滚动至按钮单击时没有ID的文本
我有多行文字,上面也有标题。我正在寻找一个搜索功能,滚动到正确的标题已被放在搜索栏后,一个按钮点击。现在,这个文本没有类或ID atm,它还从数据库中加载了Javascript 滚动至按钮单击时没有ID的文本,javascript,jquery,frontend,scrolltop,scrollto,Javascript,Jquery,Frontend,Scrolltop,Scrollto,我有多行文字,上面也有标题。我正在寻找一个搜索功能,滚动到正确的标题已被放在搜索栏后,一个按钮点击。现在,这个文本没有类或ID atm,它还从数据库中加载了Titel:“.$row['Titel']”。在这种情况下,它将是“我是一个测试标题” 我已经在按钮上尝试了此功能(以及多个其他功能): $(window).scrollTop($("*:contains('I am a test title'):last").offset().top); 但由于我的文本是从数据库加载的,所以它不会对其进
Titel:“.$row['Titel']”。
在这种情况下,它将是“我是一个测试标题”
我已经在按钮上尝试了此功能(以及多个其他功能):
$(window).scrollTop($("*:contains('I am a test title'):last").offset().top);
但由于我的文本是从数据库加载的,所以它不会对其进行重新格式化(我假设)。当我使用尝试这个完全相同的函数时,我是页面底部的测试标题,它会滚动到其中的文本
这个函数也很成功,但是我想要一个用于exmaple的滚动条,而不是红色边框
$('*:contains("I am a test title")').each(function(){
if($(this).children().length < 1)
$(this).css("border","solid 2px red") });
$('*:包含(“我是测试标题”))。每个(函数(){
if($(this).children().length<1)
$(this.css(“边框”,“实心2px红色”)});
我被这个问题困扰了一段时间,没有找到任何解决办法。任何方向正确的帮助都将不胜感激
我用于在多篇文章中加载的完整代码:
if ($res = mysqli_query($link, $sql)) {
if (mysqli_num_rows($res) > 0) {
if ($_SESSION['login_user'] == true) {
echo "<table class='tableArtikel'>";
while ($row = mysqli_fetch_array($res)) {
$artikelRow = $row['artikel'];
$rowArtikelId = $row['Artikel_id'];
$rowTitel = $row['titel'];
$rowTag = $row['tag'];
echo "<form method='POST'>
<input type='hidden' name='id' value='" . $rowArtikelId . "'>
<div class='container'>
<th style='font-size: 1vw; font-family: sans-serif; border-bottom: 1px solid #8f8f8f; padding-bottom: 23px; padding-top: 23px;' class='" . $row['tag'] . "'><div><b style='font-size:20px;'>Titel: " . $row['titel'] . "</b></div><br> <i>Tags: " . $row['tag'] . " </i><br> Geupload door: " . $row["username"] . " <br> Laatst bewerkt: " . $row['edit_date'] . " door: " . $row['lastedit'] . " <br><br>
<textarea name='content' id='summernote' class='summernote' style='margin-bottom: 5px;' >" . $artikelRow . "</textarea>
<input type=\"submit\" name=\"submit\" value=\"Submit\" class='defaultButton'>
</form>
<button data-id='" . $rowArtikelId . "' id=\"myBtn$rowArtikelId\" class='openModal defaultButton'>Edit</button>
<form method='POST'>
<input type='hidden' name='id' value='" . $rowArtikelId . "'>
<input type='submit' value='Delete' name='deleteArt' data-id='" . $rowArtikelId . "' id=\"myBtn$rowArtikelId\" class='deleteArt defaultButton'>
</form>
<!-- overlay -->
<div id=\"myModal$rowArtikelId\" class=\"modal\">
<div class=\"modal-content\">
<span data-id='" . $rowArtikelId . "' class=\"close\">×</span>
<form method='POST'>
<br><input type='hidden' name='id' value='$rowArtikelId' >
<p>Titel</p>
<input value='$rowTitel' name='updateTitel' class=\"defaultInput\" style='color:black'><br>
<br><p>Tag</p>
<input value='$rowTag' id='updateTag' name='updateTag' class=\"defaultInput\" style='color:black'>
<input type='submit' name='submitPopUp' id='submitPopUp' class=\"defaultButton\" value='submit'>
</form>
</div>
</div>
<!-- overlay -->
</th>
<tr>
<th>
</th>
</tr>
</div>";
}
echo "</table>";
echo "</div>";
}
}
if($res=mysqli\u查询($link,$sql)){
如果(mysqli_num_行($res)>0){
if($\u会话['login\u user']==true){
回声“;
while($row=mysqli\u fetch\u数组($res)){
$artikelRow=$row['artikel'];
$rowArtikelId=$row['Artikel_id'];
$rowTitel=$row['titel'];
$rowTag=$row['tag'];
回声“
Titel:“.$row['Titel']”。
标签:“.$row['tag']”。
Geupload door:“.$row[“用户名”]”。
Laatst bewerkt:“.$row['edit_date']”。
“$artikelRow。”
编辑
&时代;
滴度
标签
";
}
回声“;
回声“;
}
}
}我认为滚动到文本是不可能的(你应该输入Id),但是如果你仍然想在没有Id的情况下这样做,你可以使用以下内容搜索你的术语:
var elem = $('*:contains("I am a simple string")');
$([document.documentElement, document.body]).animate({
scrollTop: elem.offset().top
}, 2000);
我认为问题在于,您的js在您的文档获取之前运行
准备好了
您可以将代码放在documentready函数中,与直接使用scroll事件相比,它仅在DOM加载时执行
您可以在以下网站了解更多信息:因为我提到的第一个功能确实有效,但不适用于数据库中的文本,我想一定有办法做到这一点。您所说的“数据库中的文本”是什么意思,文本是在页面之后加载的?因为这实际上适用于从Db加载的东西。如果您现在在控制台中键入我的代码,您将滚动到顶部!和var elem=$('*:contains(“我是一个简单的字符串”)$([document.documentElement,document.body]).animate({scrollTop:elem.offset().top},2000)如果你所包含的代码在某些情况下有效,而在其他情况下无效,那么你应该在问题中包含一个失败的情况。很有可能,这个问题是由于您没有向我们展示一些东西,这使得我们很难提供帮助。
$(document).ready(function() {
$(window).scroll(function() {
// do something
});
});