0

これが私のコードの問題のある部分です.each(function(){});内で実行します

$('img','<div>'+ed.selection.getContent({format: 'html'})+'</div>').each(function(){  
  $img=$('<img/>').attr('src',$(this).attr('src'));
  alert($('<p>'+$img+'</p>').html());
  if ($(this).attr('height').length>0){
    $img.attr('height',$(this).attr('height'));
  }
  if ($(this).attr('width').length>0){
    $img.attr('width',$(this).attr('width'));
  }
  alert($img.html());
});

まず、選択した tinyMCE コンテンツを html 形式で操作していますが、これは jQuery が適切に認識するので問題ありません。$img.html() は、未定義ではなく空白の空の値を返します。FF 3.6 と IE8 の両方をテストしました。誰か説明してくれませんか?

4

4 に答える 4

2

このhtml()関数は、要素の内容のみを返します。は技術的に空であるため<IMG>、空の文字列が得られます。

あなたがこれを持っていたら:

<span>The text</span>

を要求すると、タグを囲むことなく、$span.html()だけが得られます。The text

于 2009-11-17T17:08:02.473 に答える
1

<img>のコンテンツへのアクセスに関心がある場合は、質問番号 298049をご覧ください。

于 2009-11-17T17:27:23.713 に答える
0

.html()要素の innerHTML 、つまりその中にあるものを提供します。An の<img>内部には何もありません - それは空の要素です。

それをラップして、その innerHTML を取得することで、正しい考えが得られます。

于 2009-11-17T17:08:15.767 に答える
0

image 要素には内部 HTML がないため、メソッドは何も返すことができません。

于 2009-11-17T17:08:51.360 に答える