2016-04-22 21 views
-1

私はgreasemonkeyスクリプトを使用して、選択できない属性をどのように削除することができますか?GreaseMonkeyを使用してページ上でUnselectableをオフ/オフにするにはどうすればよいですか?

これはこれまで私が行ってきたことです。

var elmLink = document.getAttributeById("unselectable"); 
elmLink.removeAttribute('unselectable'); 
+0

は 'getAttributeById'何であるのに役立ちますか? –

+0

属性を選択するはずです。私はサイトのドキュメントから入手しました。http://commons.oreilly.com/wiki/index.php/Greasemonkey_Hacks/Getting_Started#Modifying_an_Element.27s_Attributes – nsw448

+0

documentation.greaseサルに「getAttributeById」メソッドがありませんjsメソッドコンソールのjavascript .openには 'getAttributeById'がありません。エラーが表示されます。 –

答えて

0

のGreaseMonkeyまたはJavaScriptでremoveAttributeByIdまたはgetAttributeById機能はありません。

あなたは属性unicorna要素を見つけたいとしましょう、あなたはこのようになりますCSSセレクタを持っているでしょう:あなたはattributes via CSS selectors見つけることdocument.querySelectorを使用することができます

:しかし近いものがあります

a[unicorn](あなたがが、要素を必要としない):

var element = document.querySelector('a[unicorn]'); 

document.querySelectorあなたは肝炎ので、もし、1つの要素を返します。あなたが削除する必要がある複数の場合は、document.querySelectorAllを実行し、それらのすべてをループする必要があります。

次に、get,setremoveの属性では、element.(get|set|remove)Attributeとなります。

は、だから、同じように動作し、何か必要がある場合があります:

var elmLink = document.querySelector("[unselectable]"); 
elmLink.removeAttribute('unselectable'); 

をしたり、複数持っている場合:

var elements = document.querySelectorAll("[unselectable]"); 
Array.from(elements).forEach(function(element){ 
    element.removeAttribute('unselectable'); 
}); 
0

getAttributeByIDとしてはそのような機能は実際には存在しないものをあなたが探しているのはdocument.querySelectorAllです。これを使ってあなたが望むものを得ることができます。あなたが属性を削除するためにそれらを介してループにする必要がありますので、

var elmLink = document.querySelectorAll("[unselectable]"); 

今これは選択不可属性でEVERY要素を返します。

elmLink.forEach(function(entry) { 
    entry.removeAttribute("unselectable"); 
}); 

ホープこれは

+0

実際には_every_要素を返しません。それは 'querySelectorAll'が実行するものです。 – Quill

+0

実際これは私の意図です。ありがとう、私はこれのために自分の投稿を編集します。ありがとう。 – Velocibadgery

関連する問題