Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

getById したオブジェクトの親タグ削除と data-* 属性、aria-* 属性の削除関数

61 views
Skip to first unread message

Jun Futagawa

unread,
Dec 7, 2012, 4:18:04 AM12/7/12
to mixe...@googlegroups.com
ふたがわ (@jfut) です。

mixer2 をまだ触り始めたばかりですがとても使いやすくて良い感じです。

2 点、ご相談があります。

1. getById したオブジェクトの親タグ削除する方法

<div id="foo">
<p>bar bar</p>
</div>

とあるときに、getById したオブジェクトが持つ getContent() だけ残して、
親タグは消し去りたいのですが良い方法はありますでしょうか。
上記であれば、<div /> を消して <p>foo</p> だけにしたいです。

2. data-* 属性、aria-* 属性の削除関数の要望

data-* 属性、aria-* 属性自体を削除したいのですが、
abstractJaxb.getOtherAttributes().remove(new QName("data-foo"));
abstractJaxb.getOtherAttributes().remove(new QName("aria-bar"));
ではなく、
abstractJaxb.removeData("foo");
abstractJaxb.removeAria("bar");
とできると簡単で素敵だと思いましたが如何でしょうか。

よろしくお願いします。

--
Jun Futagawa

nabedge

unread,
Dec 7, 2012, 9:11:02 AM12/7/12
to mixe...@googlegroups.com
渡辺です。mixer2ご利用ありがとう!

2. data-* 属性、aria-* 属性の削除関数の要望

data-* 属性、aria-* 属性自体を削除したいのですが、
abstractJaxb.getOtherAttributes().remove(new QName("data-foo"));
abstractJaxb.getOtherAttributes().remove(new QName("aria-bar"));
ではなく、
abstractJaxb.removeData("foo");
abstractJaxb.removeAria("bar");
とできると簡単で素敵だと思いましたが如何でしょうか。-

なるほど!素敵だと思います。
すぐ実装にとりかかってみます!しばしお待ちください。
 
わたなべ
http://twitter.com/nabedge

nabedge

unread,
Dec 7, 2012, 9:20:55 AM12/7/12
to mixe...@googlegroups.com
渡辺です。

<div id="foo">
    <p>bar bar</p>
</div>

とあるときに、getById したオブジェクトが持つ getContent() だけ残して、
親タグは消し去りたいのですが良い方法はありますでしょうか。
上記であれば、<div /> を消して <p>foo</p> だけにしたいです。

うーん、mixer2側としては、

<div id="foo">
<p>bar bar</p> hoge <span>fuga</span>
</div>

のように、複数のタグまたは文字列がまざって
Divの内部のcontentとしてList型に収まっていることも考えなければなりません。

<div id="foo"> の中には<p>タグが一個だけ入っていることが保障されているか、
あるいは、とりあえず最初に見つかった<p>タグだけ取り出したいということであれば、
P p =  html.getBody().getById("foo",Div.class).getDescendants(P.class).get(0);
で取れますが、そういうことじゃないですよね...?

--
わたなべ
http://twitter.com/nabedge

Jun Futagawa

unread,
Dec 7, 2012, 10:37:40 AM12/7/12
to mixe...@googlegroups.com
ふたがわ (@jfut) です。

On 2012/12/07 23:11, nabedge wrote:

> 2. data-* 属性、aria-* 属性の削除関数の要望
>
>
> data-* 属性、aria-* 属性自体を削除したいのですが、
> abstractJaxb.getOtherAttributes().remove(new QName("data-foo"));
> abstractJaxb.getOtherAttributes().remove(new QName("aria-bar"));
> ではなく、
> abstractJaxb.removeData("foo");
> abstractJaxb.removeAria("bar");
> とできると簡単で素敵だと思いましたが如何でしょうか。-
>
>
> なるほど!素敵だと思います。
> すぐ実装にとりかかってみます!しばしお待ちください。

ありがとうございます!

--
Jun Futagawa

Jun Futagawa

unread,
Dec 7, 2012, 10:39:14 AM12/7/12
to mixe...@googlegroups.com
ふたがわ (@jfut) です。

On 2012/12/07 23:20, nabedge wrote:

> <div id="foo">
> <p>bar bar</p>
> </div>
>
> とあるときに、getById したオブジェクトが持つ getContent() だけ残して、
> 親タグは消し去りたいのですが良い方法はありますでしょうか。
> 上記であれば、<div /> を消して <p>foo</p> だけにしたいです。
...
> <div id="foo"> の中には<p>タグが一個だけ入っていることが保障されているか、
> あるいは、とりあえず最初に見つかった<p>タグだけ取り出したいということであれば、
> P p = html.getBody().getById("foo",Div.class).getDescendants(P.class).get(0);
> で取れますが、そういうことじゃないですよね...?

そうですね、中身に何があるかは不明の状態で取り出したいです。
jQuery の before() after() parent() みたいに前後のタグに対応する
オブジェクトが取れれば良いんだと思いますが、難しそうでしたら
諦めて親タグは残して問題ないようにレイアウトします。

--
Jun Futagawa

nabedge

unread,
Dec 7, 2012, 11:56:59 AM12/7/12
to mixe...@googlegroups.com
渡辺です。

> jQuery の before() after() parent() みたいに前後のタグに対応する
> オブジェクトが取れれば良いんだと思いますが、難しそうでしたら

ちょーっと難しそうですね。。。
っていうか、いまなんとなく思い出しました!
mixer2の初期実装のころ、
自分自身の親タグまたは前後タグにアクセスする手段を考えたものの、
現状のJAXBの機能では難しい感じがして断念した覚えがあります。
まだ解決できてないです。すいません。

2012年12月8日 0:39 Jun Futagawa <jf...@integ.jp>:
--
わたなべ
http://twitter.com/nabedge

Jun Futagawa

unread,
Dec 7, 2012, 10:13:47 PM12/7/12
to mixe...@googlegroups.com
ふたがわ (jfut) です。

On 2012/12/08 1:56, nabedge wrote:

>> jQuery の before() after() parent() みたいに前後のタグに対応する
>> オブジェクトが取れれば良いんだと思いますが、難しそうでしたら
>
> ちょーっと難しそうですね。。。
> っていうか、いまなんとなく思い出しました!
> mixer2の初期実装のころ、
> 自分自身の親タグまたは前後タグにアクセスする手段を考えたものの、
> 現状のJAXBの機能では難しい感じがして断念した覚えがあります。
> まだ解決できてないです。すいません。

なるほど、承知しました。
とりあえずレイアウト側で対処するので大丈夫です。

--
Jun Futagawa
Reply all
Reply to author
Forward
0 new messages