使用JavaScript按标题选择元素并从浏览器调整?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用JavaScript按标题选择元素并从浏览器调整?相关的知识,希望对你有一定的参考价值。

我需要按标题修改元素,如

javascript: (function () {
  document.body.innerhtml += `<style>* {
    background:% 20#000 % 20!important;
    color:% 20#0f0 % 20!important;
    outline:% 20solid % 20#f00 % 201px % 20!important;
  } </style > `;
})();

所以我想修改那些代码,这样当我运行它时(我将它放在书签栏上的按钮中以便于访问)它会改变文档上某个元素的位置。

我可以选择这个元素的唯一方法是使用title属性,所以我需要找到一种方法,用javascript按标题选择元素,然后对其样式应用更改,就像“Ghost CSS”技巧一样。

答案

CSS Selector

使用选择器表示法按其属性查找节点

[title="element title attribute value"]

使用JavaScript

与CSS中的选择器相同,但您可以使用document.querySelector获取节点,或者如果需要多个节点,则可以通过document.querySelectorAll获取NodeList

var node = document.querySelector('[title="element title attribute value"]');

当您执行.innerHTML时,您正在重新解析您调用它的节点中的所有HTML,这可能会破坏网页的各个部分。您应该使用DOM方法来创建节点。例如

var style = document.createElement('style');
style.appendChild(document.createTextNode('div {border: 1px solid red}'));
document.body.appendChild(style);

将JavaScript转换为bookmarklet非常简单

bookmarklet = 'javascript:'
    + encodeURIComponent('(function () {' + code + '}())')
    + ';';

Here is a fiddle,您只需粘贴代码即可

以上是关于使用JavaScript按标题选择元素并从浏览器调整?的主要内容,如果未能解决你的问题,请参考以下文章

javascript基础08

选择“高”列中的前 5 个最大记录,并从同一查询中的“低”列和按股票名称分区的同一个表中选择 5 个最小记录

如何使用 JavaScript 访问文件元素的文件属性

在Javascript中按多个条件过滤数组

JavaScript数字数组怎么按数字大小排序?

Web 浏览器如何从字体系列中选择字体?