jquery:如何从htmlstring获取价值?

时间:2012-08-03 04:18:14

标签: jquery jquery-selectors

我有一个这样的脚本:

<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变量中获取值(“这是错误的”)?

4 个答案:

答案 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

Demo

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;
}