0

私はブラウザチェックをしています:

$(document).ready(function() {
if ($.browser.chrome) {
  //show document write input only if chrome = true else, ignore it
}
});
</script>

HTML

<input name="name" type="text" size="30" maxlength="50" **IF CHROME == TRUE? document.write("style="position:relative; margin-top:-3px; margin-left:-1px;"");** >

明らかに上記は正しくありません..誰かがこれを行う適切な方法を説明できますか?ありがとう!

4

1 に答える 1

0

私はこの1回限りのハックのファンではありませんが、$.browser.chrome期待どおりに評価された場合にどのように取得できるかを以下に説明します。


この時点では、ドキュメントをインラインで書き込むことはできませんが、要素の属性は変更できます。たとえば、条件付きif-check内では次のようになります。

$(inputSelector).attr('style',
    'position:relative; margin-top:-3px; margin-left:-1px;');

ただし、style「text」である属性は「styeオブジェクト」に合成されるため、通常はtext-DOMアクセスを避けるのが最善です。jQuery.cssこれは、次の方法を使用して実現できます。

$(inputSelector).css({
    position: 'relative',
    marginTop: '-3px',
    marginLeft: '-1px'
})

inputSelector適切な要素に一致する適切なセレクターはどこにありますか。たとえば、<input name="theName" ..と一致させることができます[name="theName"]。詳細については、 jQueryセレクターを参照してください。

于 2012-09-15T22:14:06.950 に答える