Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 滚动至按钮单击时没有ID的文本_Javascript_Jquery_Frontend_Scrolltop_Scrollto - Fatal编程技术网

Javascript 滚动至按钮单击时没有ID的文本

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); 但由于我的文本是从数据库加载的,所以它不会对其进

我有多行文字,上面也有标题。我正在寻找一个搜索功能,滚动到正确的标题已被放在搜索栏后,一个按钮点击。现在,这个文本没有类或ID atm,它还从数据库中加载了
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\">&times;</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
    });
});