我的代码示例:
<div id="ds">
<classified_title check_zone="true" article="start" a_type="advertisement" cid="#P98_001"></classified_title>
<p article_con="98.1" cid="#P98_005"></p>
<p article="start" a_type="advertisement" cid="#P100_001"></p>
<p article_con="98.1" cid="#P99_001"></p>
<dc_title article="start" check_zone="true" a_type="article" cid="#P95_001"></dc_title>
<pam_credit rot_ang="90_3021_1470_681_71" check_zone="true" article_con="95.1" cid="#P95_010">ILLUSTRATION BY HECTOR CADEMARTORI</pam_credit>
<p article_con="95.1" link_para="95.1" cid="#P96_009"></p>
<p article_con="95.1" link_para="96.1" cid="#P96_016"></p>
<p article_con="95.1" link_para="96.1" cid="#P97_001"></p>
<p article="end" cid="#P97_008"></p>
</div>
我想区分三组,如下面的代码:
<p article_con="98.1" cid="#P98_005"></p>
<p article="start" a_type="advertisement" cid="#P100_001"></p>
<p article_con="98.1" cid="#P99_001"></p>
第一个标记(<p article_con="98.1" cid="#P98_005"></p>
)具有属性article_con
,第二个标记(<p article="start" a_type="advertisement" cid="#P100_001"></p>
)具有属性article="start"
,第三个标记又像第一个标记一样,{ {1}}属性具有相同的值。
不是那样的:
article_con
第一个和第三个标记的article_con属性值不同,重要的是第二个标记中必须有<p article_con="98.1" cid="#P98_005"></p>
<p article="start" a_type="advertisement" cid="#P100_001"></p>
<p article_con="98.2" cid="#P99_001"></p>
属性。
答案 0 :(得分:0)
这就是我要做的事情:
<div id="98.1">
<p cid="#P98_005"></p>
<p article="start" a_type="advertisement" cid="#P100_001"></p>
<p cid="#P99_001"></p>
</div>
如果在div中包装每组3并将其id
属性设置为article_con编号,那么您可以使用以下命令轻松访问div及其子ID:
<script>
var childrenArray = document.getElementById('98.1').childNodes;
</script>
从那里,您可以访问该数组中的第一,第二或第三段。
答案 1 :(得分:0)
我同意@Bluehound你应该重新格式化你的HTML,但如果你不能这样做,这是我的简单JS建议:
var findArticle = function() {
var start = document.querySelectorAll('[article="start"]')
var l = start.length
for (var i = 0; i < l; i++) {
var node = start[i]
var prev = node.previousElementSibling
if (!prev || !prev.hasAttribute('article_con')) continue
var con = prev.getAttribute('article_con')
var next = node.nextElementSibling
if (!next || !next.hasAttribute('article_con') ||
next.getAttribute('article_con') != con) continue
return node
}
return null
}
var article = findArticle()
console.log(article)
示例代码here