2015-11-24 83 views
0

我已经是一个很长的文本内容页跳转到该页面的不同位置时,标识或名称不存在

<p class="parahead">401. Heading </p> 
<p>other html content</p> 
<p class="c2">some more data</P> 
... 
<p class="parahead">402. Another heading </p> 
<p>other html content</p> 
... 

添加编号或名称属性每个段落标记的是不是一种选择在所有。我在页面中有jquery。根据段落的内容是否可以跳转页面?我不希望任何其他标记动态地添加到这个网站,因为它会减慢页面加载

更新:这个问题 更多信息。我有两个html文件。说A和B.A是源文件,B对A有一些解释。在A的滚动事件中,我可以在视口中获取当前段落的内容/ ID。当用户点击周围包装的一个按钮,用户应采取B上的相应部分(其中有一个的解释)

+3

是的,这是可能的。你如何获得文本,在什么情况下跳跃发生,你至少试图自己解决这个问题? –

+0

正如Rory所说,这绝对是可能的,但如果您唯一地标记每个元素,它会容易得多。否则它会变得混乱,特别是如果没有任何标题内容的常量_theme_。 – Butler1233

+0

Rory和@butler,考虑到文件和内容的大小,不可能编辑这个html。我看到的唯一选择是在页面加载时以某种方式添加动态范围,然后将其用于页面跳转 – JenonD

回答

0

也许你可以做这样的:

//Onclick the paragraph 
$('.parahead').click(function(){ 

//Select the number inside the paragraph 
var page = $(this).text().split("."); 

//Redirect to e.g. 401.html 
window.location.replace("./" + page[0] + ".html"); 
}); 

这是你在找什么?

0

相反

我不希望任何其他标记添加到这个网站动态,因为它会减慢页面加载

我结束了在页面加载添加动态元素。

$(function(){ 
     addTags(); 
     function addTags(){ 
     $('.parahead').each(function(){ 
      var id = parseInt($(this).text()); 
      console.log(id); 
      $(this).after("<span name='parahead" + id +"'></span>"); 
     }); 
     } 
}); 
相关问题