0

私のhtmlは変数に保存されており、その変数からdivを見つけてcssを設定するだけですが、うまくいきません。ここに私のコードがあります

sHtml = $(sHtml).find('#frm').html();
sHtml = $(sHtml).find('#acloginpod').css({ 'width': xWidth + 'px' });  
$sHtml = $(sHtml);

私の3行目で何が間違っていますか。私はsHtml変数に保存され、幅がxWidth変数に保存されているhtmlからdiv acloginpodを見つけようとしました。コードに問題があると思いますが、それを見つけることができません。コードを修正するのを手伝ってください。ありがとう

4

2 に答える 2

2

問題は、コード内で HTML 文字列と DOM オブジェクト (jQuery オブジェクトにラップされている) が混在していることです。

この線で...

$(sHtml).find('#acloginpod').css({ 'width': xWidth + 'px' });

... HTML を含む文字列 (sHtml) を DOM オブジェクトに変換し、その階層内の要素を見つけて、そのプロパティを変更します。

しかし、この行では...

$sHtml = $(sHtml);

...元の文字列をDOMオブジェクトに再度変換すると、すべての変更が破棄されます。

なぜあなたは...

  $sHtml = $(sHtml);
  $sHtml.find('#acloginpod').css({ width: xWidth + 'px' });

... jQuery オブジェクトを常に使用 (および転送) します。

于 2012-10-01T11:25:34.193 に答える
1

私はあなたのコードにコメントを含めました:

sHtml = $(sHtml).find('#frm').html(); // Returns a string: the .innerHTML of the element with ID frm
sHtml = $(sHtml).find('#acloginpod').css({ 'width': xWidth + 'px' }); // Returns a jQuery object of the element with ID #acloginpod
$sHtml = $(sHtml); // No need to do that sHtml is already a jQuery object
于 2012-10-01T11:26:55.240 に答える