取消隐藏网站中隐藏的对象

时间:2015-03-29 10:55:02

标签: javascript

我想制作一个javascript代码,可以取消隐藏(显示)某些网站的隐藏对象。

让我更深入地解释你。 有一个盒子里面有一些物品。 让我们说加载到这个盒子的所有物品都是2000,但网站隐藏了800。 我能做些什么来揭示它们吗?

网站使用的代码(我可以在chrome的“inspect元素”中看到)如下

 <div class="_3hqu" data-reactid=".ih.0.0.1.1.0.1.0.0.0.0.0.1:$100000533954532">
 <table class="_2x_v uiGrid _51mz" cols="3" cellspacing="0" cellpadding="0" data-reactid=".ih.0.0.1.1.0.1.0.0.0.0.0.1:$100000533954532.0">
 <tbody data-reactid=".ih.0.0.1.1.0.1.0.0.0.0.0.1:$100000533954532.0.0">
 <tr class="_51mx" data-reactid=".ih.0.0.1.1.0.1.0.0.0.0.0.1:$100000533954532.0.0.$2">
 <td class="_51m- vMid" data-reactid=".ih.0.0.1.1.0.1.0.0.0.0.0.1:$100000533954532.0.0.$2.$image">
 <div class="_4b2j" data-reactid=".ih.0.0.1.1.0.1.0.0.0.0.0.1:$100000533954532.0.0.$2.$image.0">
 <img class="_2x_w img" src=" IMAGE LINK" data-reactid=".ih.0.0.1.1.0.1.0.0.0.0.0.1:$100000533954532.0.0.$2.$image.0.0">
 </div>
 </td>
<td class="_2x_x _51m- vMid" data-reactid=".ih.0.0.1.1.0.1.0.0.0.0.0.1:$100000533954532.0.0.$2.$text">
<div class="_2x_y" data-reactid=".ih.0.0.1.1.0.1.0.0.0.0.0.1:$100000533954532.0.0.$2.$text.0">NAME</div>
<div class="_2x_z" data-reactid=".ih.0.0.1.1.0.1.0.0.0.0.0.1:$100000533954532.0.0.$2.$text.1"></div>
<div class="_2x_z" data-reactid=".ih.0.0.1.1.0.1.0.0.0.0.0.1:$100000533954532.0.0.$2.$text.2"></div>
</td>
<td class="_51mw _51m- vMid" data-reactid=".ih.0.0.1.1.0.1.0.0.0.0.0.1:$100000533954532.0.0.$2.$widget">
<a aria-checked="true" aria-labelledby="100000533954532-name" aria-describedby="100000533954532-subtitle" class="_3hqy _3hqz" href="#" role="checkbox" tabindex="0" data-reactid=".ih.0.0.1.1.0.1.0.0.0.0.0.1:$100000533954532.0.0.$2.$widget.0">
</a>
</td>
</tr>
</tbody>
</table>
</div>

所以这只是一个元素的代码。 $100000533954532是此元素的值(不含$)

并且在1200个这样的元素之后具有相同的代码但是具有不同的值 有这个代码“隐藏”其他800个元素。

<input type="hidden" name="at_limit" value="false" data-reactid=".ih.1">
<input type="hidden" name="session_id" value="1326941442" data-reactid=".ih.2">
<input type="hidden" name="profileChooserItems" value="{ "000001":1, "000002":1, etc...
 data-reactid=".ih.3">

是否可以使用javascript代码显示此表的隐藏值(元素)???

2 个答案:

答案 0 :(得分:0)

您需要从DOM元素集合中删除属性 试试这个:

document.querySelector('input[type="hidden"]').removeAttribute("type");

Example on JsFiddle

Similar question on StackOverflow

答案 1 :(得分:0)

这是一个抓取input元素并使用其中包含的属性和值动态创建更复杂的HTML节点集的简单示例:

JSFiddle it here.

<input type="hidden" name="at_limit" value="false" data-reactid=".ih.1">

<script>

var at_limit = document.querySelector('input[name="at_limit"]');
var reactid = at_limit.getAttribute('data-reactid');
var toggle = (at_limit.value === "true");

var div  = document.createElement("DIV");
var tbl  = document.createElement("TABLE");
var tbdy = document.createElement("TBODY");
var tr   = document.createElement("TR");
var td   = document.createElement("TD");
var anc  = document.createElement("A");
anc.href = "page.html?reactid=" + reactid;
anc.className = ( toggle )? 'yes': 'no';
var txt  = document.createTextNode(reactid);
anc.appendChild(txt);
td.appendChild(anc);
tr.appendChild(td);
tbdy.appendChild(tr);
tbl.appendChild(tbdy);
div.appendChild(tbl);
document.body.appendChild(div);

</script>

<style>
.no   { color: red; }
.yes  { color: green; }
table { border: solid blue 1px; }
</style>

这就是概念,现在是将输入元素映射到目标div / table结构的问题。