我有一个这样的字符串:
string_data = "<option value='1'>ahmad</option><option value='2'>mohammad</option><option value='3'>ali</option>"
现在我想获取选项的value属性的值并提醒它。对此,我写这个:
$(string_data).contents()
.each(function(){
value = $(this).attr('value');
text = $(this).text();
alert(value);
});
但是此代码会为所有这些代码返回 undefined
另外 string_data 是一个字符串,我通过$ .post()jQuery方法从Ajax的php脚本中获取它。
我正在使用jquery 1.6。
答案 0 :(得分:3)
contents()
方法检索元素的子,在您的情况下是文本节点。省略该方法调用迭代<option>
元素:
$(string_data).each(function(){
value = $(this).attr('value');
text = $(this).text();
alert(value);
});
答案 1 :(得分:0)
尝试:
$(string_data).find("option") .each(function(){ value = $(this).attr('value'); text = $(this).text(); alert(value); });
答案 2 :(得分:0)
当jQuery需要一个标识符时,我不确定加载这样的string_data是否有效。它应该更像是:
$('#some_hidden_select').html(string_data).find("option")
.each(function(){
value = $(this).attr('value');
text = $(this).text();
alert(value);
});