重新加载后相同功能未给出相同结果

时间:2018-08-04 09:30:43

标签: javascript php jquery function each

所以基本上,我的页面是一家商店,因此内容是使用php shortcode生成的,如下所示:

inputAccessoryView

所以它给了我一个基本的页面,其中的内容是元素列表:

<?php get_header(); ?>
<div id="main-content">
    <div id="page-content">
        <?php
            echo do_shortcode('[products limit="20" columns="4" category="t-shirt"]');
        ?>
    </div>
</div>
<?php get_footer(); ?>
<script>$(document).ready(linebreak)</script>

实际上有20余里,但您可以看到我的页面外观。我正在使用换行jquery函数来检查我的h2标题是否有换行,原因是我不想要它。如果有换行符,则仅保留前20个字符,并在末尾添加“ ...”。据说,根据我的重载,一个或一个到h2的值并不总是更改的,这是相当不错的。它们确实有换行符,但是当我多次重新加载页面时,有时功能正在更改它们,而有时却没有。它仅是一两个特定的h2,并且始终相同。为什么每次运行页面时函数都不会给出相同的结果?

万一有帮助,这是我的script.js中包含在标头中的函数:

<html>
<head></head>
<body>
<div id="main-content">
    <div id="page-content">
        <ul class="my-list">
          <li class="my-element">
             <img>
             <h2>A title</h2>
          </li>
          <li class="my-element">
             <img>
             <h2>A title</h2>
          </li>
        </ul>
    </div>
</div>
<footer></footer>
</body>
</html>
<script>$(document).ready(linebreak)</script>

3 个答案:

答案 0 :(得分:1)

您有想要的图像吗?使用CSS管理过长的标题会更容易吗?

如果标题设置得太长,则以下代码将自动添加省略号。

例如

h2 {
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

答案 1 :(得分:0)

您的脚本应该在文档的开头,因此您需要找到生成<?php get_header(); ?>的位置。通常是header.php

答案 2 :(得分:0)

您必须等待dom完全加载

$( document ).ready(function() {
    linebreak();
});

如果您的主题结构很简单,您还可以检查header.php或footer.php来删除代码