编码不是那么好,而是学习。想知道这是否可行,在网站/论坛上找不到足够接近的东西。
我正在使用tampermonkey / greasemonkey和jquery。
尝试选择网站每个网页上的特定元素,但第一个ID标记是随机的。试着添加一个带有TEST一词的Div。
我正在尝试的代码:( "<p>Test</p>" ).insertAfter( "div[id^='#highlight_panel_'] > div.efhpContainer > table > tbody > tr > td.efhpLeftContent > div:nth-child(4)" );
被修改 好吧,也许我让那令人困惑?大声笑。不在乎它是否凌乱(有人问)
所以说我点击链接,我得到:
#highlight_panel_34sdf3e2 > div.efhpContainer > table > tbody > tr > td.efhpLeftContent > div:nth-child(4)
现在,如果我点击其他链接,我会得到:
#highlight_panel_23vs87y334r3rkfi > div.efhpContainer > table > tbody > tr > td.efhpLeftContent > div:nth-child(4)
每个链接都有自己唯一的ID。
感谢您的帮助!
答案 0 :(得分:1)
您的代码很难理解,我认为您需要花时间进行重构。
顺便说一句,jQuery支持css语法,所以,你总是可以通过&#34;通配符&#34;。 这是一个有效的例子:
function RandomIDCtrl($) {
var tpl = '<div class="js_injected">Test</div>';
var randomElement = $('[id^="someRandomID_"]');
var context = $('td > div:nth-child(4)', randomElement);
console.log(context);
$(tpl).insertAfter(context);
}
jQuery(document).ready(RandomIDCtrl);
&#13;
td div {
min-height: 30px;
padding: 10px 20px;
}
table { width: 100%; }
td div:nth-child(1) { background: green;}
td div:nth-child(2) { background: yellow;}
td div:nth-child(3) { background: blue;}
td div:nth-child(4) { background: lightseagreen;}
.js_injected {
background: red;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="someRandomID_2">
<table>
<tbody>
<tr>
<td>
<div> child 1</div>
<div> child 2</div>
<div> child 3</div>
<div> child 4</div>
</td>
</tr>
</tbody>
</table>
</div>
&#13;