我需要从HTML代码中检索部分数据。这是:
<span
class="Z3988" style="display:none;"
title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&
rfr_id=info%3Asid%2Focoins.info%3Agenerator&rft.genre=article&
rft.atitle=Parliamentarism Rationalized&
rft.title=East European Constitutional Review&
rft.stitle=E. Eur. Const. Rev.&rft.date=1993&
rft.volume=2&rft.spage=33&rft.au=Tanchev, Evgeni&
rft_id=http://heinonline.org/HOL/Page?handle%3Dhein.journals/eeurcr2%26id%3D33%26div%3D%26collection%3D">
</span>
我试图使用例如:
document.querySelector("span.Z3988").textContent
document.getElementsbyClassName("Z3988")[0].textContent
我的最终目标是得到以后的内容:
Parliamentarism Rationalized
)East European Constitutional Review
)我该怎么做?我想避免RegEx。
答案 0 :(得分:1)
获取span的标题文本
在=
吐出,使用不会出现在我准备的字符串^
中的字符加入,为;
执行相同操作,并使用^
处的唯一字符进行拆分在这种情况下,然后在每个偶数索引处选择值。如果你需要字符串加入它。
示例Sinppet:
var spanTitle = document.getElementsByClassName("Z3988")["0"].getAttribute("title");
var data = spanTitle.split("=").join("^").split(";").join("^").split("^")
var finaldata = data.filter(function(d, index) {
return !!index % 2;
})
console.log(finaldata)
&#13;
<span class="Z3988" style="display:none;" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&
rfr_id=info%3Asid%2Focoins.info%3Agenerator&rft.genre=article&
rft.atitle=Parliamentarism Rationalized&
rft.title=East European Constitutional Review&
rft.stitle=E. Eur. Const. Rev.&rft.date=1993&
rft.volume=2&rft.spage=33&rft.au=Tanchev, Evgeni&
rft_id=http://heinonline.org/HOL/Page?handle%3Dhein.journals/eeurcr2%26id%3D33%26div%3D%26collection%3D">
</span>
&#13;
答案 1 :(得分:1)
您标题中的内容看起来像是一个网址搜索查询...
var elm = document.querySelector('.Z3988')
var params = new URLSearchParams(elm.title) // parse everything
console.log(...params) // list all
console.log(params.get('rft.title')) // getting one example
&#13;
<span class="Z3988" style="display:none;" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rfr_id=info%3Asid%2Focoins.info%3Agenerator&rft.genre=article&rft.atitle=Parliamentarism Rationalized&rft.title=East European Constitutional Review&rft.stitle=E. Eur. Const. Rev.&rft.date=1993&rft.volume=2&rft.spage=33&rft.au=Tanchev, Evgeni&rft_id=http://heinonline.org/HOL/Page?handle%3Dhein.journals/eeurcr2%26id%3D33%26div%3D%26collection%3D"></span>
&#13;
答案 2 :(得分:0)
如果您尝试抓取title属性:
document.getElementsByClassName("Z3988")[0].getAttribute("title");
答案 3 :(得分:0)
您以文本形式输出内容的方式非常糟糕。您可以尝试将文本的每个部分打印到元素属性中,并使用element.getAttribute()检索每个部分。
前:
<span id='whatever' stitle='content' spage='content'></span>
并从所选元素中检索。
对于你拥有它的方式,你可能想尝试将该文本放入变量并将值拆分为:
var element_text = document.getElementsbyClassName("Z3988")[0].textContent;
var element_specifics = element_text.split(';'); // Separate the text into array splitting by the ';'