特定の文字列で始まる特定の属性を含む要素のリストを DOM から (上から下に) 取得する方法を理解しようとしています。たとえば、「猿」はその文字列です。存在する場合。
$.each()
私はandを使ってこれを非常に大まかにまとめたアイデアを持っていまし:contains
たが、2つの間にはそれから良い結果が得られません。だから私はここに来て、いくつかの頭脳を選ぶと思った.
私がやりたいことは、基本的に、特定の関数を呼び出すときに dom をスキャンして構築することです。これは、この場合「猿」という接頭辞が付いた属性を持つ要素を検索し、data-
属性とその使用を考えます。特定のセレクターを提供し、実際にはdata-
属性を使用しないマイナス。
このHTMLを想像してください
<div monkey-user="bar" monkey-permission="read">
<span monkey-user="bar" monkey-permission="read">some text</span>
</div>
<div>
<input type="text" monkey-user="bar" monkey-permission="none">
</div>
<input type="text">
<input type="text">
<input type="text">
<input type="text">
そして、よりクリーンなものを使用できない限り、このjavascript / jqueryの概念。
var arr = new Array();
$("*").each(function()
{
if($(this).children().length == 0)
{
if($(':contains("monkey-")',this))
{
arr.push($(this));
}
}
});
この場合の arr の結果は、上記の 3 つの要素でありmonkey-
、それ以外の場合はすべてスキップされます。また、注目に値するのは、ユーザー/許可は例のためのものであり、長期的には、これらは必要に応じて処理される他の特定のものになる可能性があります (その場合、それらはdata
属性の操作に似ていますが、私は考えていますそれはまた別の質問になるでしょう。