私はここで間違ってやっているのかわからないです:あなたは$()
にコンテキストとして第二引数を渡すときhtmlコンテキストをjqueryの2番目のパラメータに渡すと、null値が返されます。なぜですか?
var typeSelect = "<input class='typeSelect' type='text' value='test' />";
alert($('input', typeSelect).attr('value'));
私はここで間違ってやっているのかわからないです:あなたは$()
にコンテキストとして第二引数を渡すときhtmlコンテキストをjqueryの2番目のパラメータに渡すと、null値が返されます。なぜですか?
var typeSelect = "<input class='typeSelect' type='text' value='test' />";
alert($('input', typeSelect).attr('value'));
、それがこのやっている:
$(typeSelect).find('input').attr('value')
を...そしてそのため、 <input>
は子のではありません。 <input>
がの場合は、it would workです。
$(typeSelect).attr('value')
You can test it here:それはありませんので、あなたの場合は
は、あなたはこれを必要とします。
alert($(typeSelect).val());
だと思います!
JQueryの2番目のパラメータはドキュメントのスコープに使用されるため、別のウィンドウドキュメントまたはiFrame内でJQuery関数を実行する場合など、ドキュメントタイプオブジェクトと他のケースで使用されます。あなたがこのテクニックを使用することができますあなたのケースで :これは「DIV」タイプのドキュメントオブジェクト変数を作成し、その中にあなたのhtmlのコンテキストを保存し、それに何かをすること自由に感じます
var typeSelect = document.createElement("div");
$(typeSelect).html("<input class='typeSelect' type='text' value='test' />");
alert($(typeSelect).find("input").attr('value'));
を;)
はい、うまくいきます。なぜ私はそのデータを操作できないのでしょうか? var typeSelect = ""; $(typeSelect).attr( 'value'、 'red'); alert($(typeSelect).val()); –
@Derrick - これを行うと、元のHTMLから毎回新しいオブジェクトを作成するので、一度作成してから次のように変更する必要があります。http://www.jsfiddle.net/nick_craver/ QKY93/2/ –
ありがとう、完璧! –