我有一个这样的脚本:
<script>
var stuff = '<input id="testinput" name="testinput" type="text" value="this is the right one" /><input id="testinput2" name="testinput2" type="text" value="this is the wrong one" />'
</script>
我如何使用jQuery从stuff变量中获取值(“这是错误的”)?
答案 0 :(得分:4)
使用.val
方法。
var value = $(stuff).val();
的更新强> 的
没有注意到你的字符串中有多个输入。
在这种情况下,您需要使用.map
方法将值作为数组返回。
的 The demo. 强> 的
var stuff = '<input id="testinput" name="testinput" type="text" value="this is the one" /><input id="testinput2" name="testinput2" type="text" value="this is the wrong one" />';
console.log($(stuff).map(function() {
return $(this).val();
}));
答案 1 :(得分:3)
var stuff = '<input id="testinput" name="testinput" type="text" value="this is the one" /><input id="testinput2" name="testinput2" type="text" value="this is the wrong one" />';
console.log($(stuff).val()); // This is the one
console.log($($(stuff)[1]).val()); // This is the wrong one
答案 2 :(得分:0)
使用val()
获取值,或者如果您使用属性.attr()
var v = $(stuff).val();
var attr = $(stuff).attr('attribute you want');
答案 3 :(得分:0)
我遇到类似的选择失败问题,直到我这样做:
var stuff = '<input id="testinput" name="testinput" type="text" value="this is the one" /><input id="testinput2" name="testinput2" type="text" value="this is the wrong one" />';
var myValue = HtmlElementAttribute(stuff, 'testinput2', 'value');
function HtmlElementAttribute(htmlString, elementId, attributeName) {
var foundValue = '';
$(htmlString).filter(function (x) {
var idX = eval('$(htmlString)[x].id');
if (idX && idX == elementId) {
foundValue = $(eval('$(htmlString)[x].outerHTML')).attr(attributeName);
}
});
return foundValue;
}