隐藏第三个之后的任何列表项并添加显示更多链接

时间:2015-08-28 20:40:51

标签: jquery

这与此问题类似:Jquery, hide & show list items after nth item

我想在第3个列表项之后隐藏任何列出的项目,并附加"显示更多链接" 链接显示更多链接必须指向显示更多...以便它将链接到正确的产品详细信息页面。

<ul>
<li>item 1</li>
<li>item 2</li>
<li>item 3</li>
<li>item 4</li>
<li>item 5</li>
</ul>

这是我正在使用的脚本:

$('ul')
 .find('li:gt(2)')
 .hide()
 .end()
 .append(
 $('<li><a href="javascript:Detail('2163230');">Show More...</a></li>').click( function(){
  $(this).siblings(':hidden').show().end().remove();
 })
);

以下是指向小提琴的链接,其中网址已替换为谷歌的链接:http://jsfiddle.net/jelane20/ecbwue8z/

无论如何都要使用javascript:Detail(&#39; 2163230&#39;);对于URL?

1 个答案:

答案 0 :(得分:1)

我不确定你要做什么,但这是你需要做的事情:

http://jsfiddle.net/ecbwue8z/2/

解释:如果您尝试调用js函数,则href中的单引号将不起作用。你需要逃避角色。

<a href="javascript:Detail("\2163230"\);"> 

编辑:这是新的解决方案:

   <script type="text/javascript">
    $('ul')
  .find('li:gt(2)')
  .hide()
  .end()
  .append(
  $('<br /><a href="?2163230");"">Show More...</a>').click(function () {
      $(this).siblings(':hidden').show().end().remove();
      Detail($(this).attr("href").substring(1,$(this).attr("href").length));
  })
 );

    function Detail(id) {
        window.location.href = "http://www.google.com?id=" + id;
    }

</script>