0

クリックされた iframe のコンテンツを取得した後、カスタム属性を持つ最初の要素を取得するためにフィルタリングされますdata-type = filled。しかし、その特定の要素にクラスを適用することはできません。

これが私のコードです:

var clicked_content = event.target.outerHTML, // gives the content being clicked

content = $(clicked_content).find("*[data-type='filled']:first").andSelf().html(); // this gives me the required content

// this was supposed to add a class to particular element
content.parent.addClass("highlight");

私もこのようにしようとしました:

$(event.target).children().find("*[data-type='filled']:first").andSelf().addClass('highlight');
4

1 に答える 1

5

outerHTMLそしてhtml()文字列を返します。文字列には親がありません。

多分あなたがしたい

$(event.target).find("*[data-type='filled']:first").andSelf()
    .parent().addClass("highlight");

andSelfは推奨されておらず、 に置き換えられていることに注意してくださいaddBack

「カスタム属性データ型 = 塗りつぶされた最初の要素」にクラスを適用しようとする場合は、次のようにする必要があります。

$(event.target).find('[data-type=filled]').eq(0).addClass("highlight");

編集:適切なデータ型を持っている場合、クリックされた要素にも一致させたいので、私は提案します

$(event.target).find('*').addBack().filter('[data-type=filled]').eq(0)
   .addClass("highlight");
于 2013-02-13T09:42:10.850 に答える