Javascript 搜索包含html的jQuery变量

Javascript 搜索包含html的jQuery变量,javascript,jquery,ajax,function,variables,Javascript,Jquery,Ajax,Function,Variables,这可能是一个奇怪的问题——现在我有一个满是HTML的变量,我想使用jQuery(或JS)搜索该变量,并使用复选框搜索输入,然后返回信息 因此: 在我得到这个变量之后,在一个成功的ajax调用之后,我想更改其中的一个特定属性,如下所示: $(Awesome).attr('value', 'false'); 现在,“Awesome”没有返回任何内容,这就不允许我按照自己的意愿更改属性。我可能也走错了方向——任何建议都很感激 变化 var Awesome = $(thisIsThat).find('

这可能是一个奇怪的问题——现在我有一个满是HTML的变量,我想使用jQuery(或JS)搜索该变量,并使用复选框搜索输入,然后返回信息

因此:

在我得到这个变量之后,在一个成功的ajax调用之后,我想更改其中的一个特定属性,如下所示:

$(Awesome).attr('value', 'false');
现在,“Awesome”没有返回任何内容,这就不允许我按照自己的意愿更改属性。我可能也走错了方向——任何建议都很感激

变化

var Awesome = $(thisIsThat).find('input:checked');

用这个

var thisIsThat = $(this).parent().parent();
alert(thisIsThat)
var Awesome = $(thisIsThat).find('input:checked');

在本例中,
这是一个对象,您可以使用该对象查找任何内容

这是一个示例,显示了从字符串中运行相同的基本思想,该字符串发现复选框很好并取消选中它

<div id="out"></div>​
<script>
    var htmlStr = '<div><input type="checkbox" checked="checked"/></div>';
    var temp = $(htmlStr);
    var cb = temp.find("input:checked");
    cb.attr("checked",false);
    jQuery("#out").append(cb);
</script>
​
var htmlStr='';
变量温度=$(htmlStr);
var cb=温度查找(“输入:选中”);
cb.属性(“已检查”,错误);
jQuery(“#out”).append(cb);

我打赌的问题是您正在手动选中复选框。执行此操作时,它不会更新DOM属性

下面是一个基本的例子来说明这个问题

<div id="one">
    <input type="checkbox" />
</div>
<button>Tell</button>​

<script>
    function tellMe(){
        var myDiv = jQuery("#one");
        var html1 = myDiv.html();
        console.log(html1);
    }

    jQuery("button").click(tellMe);  
</script>

说​
函数tellMe(){
var myDiv=jQuery(“一”);
var html1=myDiv.html();
console.log(html1);
}
jQuery(“按钮”)。单击(tellMe);
看看上面的代码


打开控制台,单击按钮。您将看到它未经检查。选中复选框并再次单击按钮,即使选中复选框,也会输出相同的html。

这是不属于
DOM
的一部分。请先找出您的起始位置。。所以console.log($(this))。。然后从there@Shusl那么在jQuery中如何定位thisIsThat呢?在警报期间,它输出的是正确的html?如果您执行$(thisIsThat).find('input'),它是否返回您期望的项目数?如果没有,可能您的复选框实际上没有被选中。在“thisIsThat”中看到html肯定会有帮助。@Nick为什么不使用实际的DOM元素-
$(this).parent().parent()
-而不是它的html?我对正则表达式不太熟悉,我想除了验证之外。在这种情况下如何使用正则表达式?-1推荐使用正则表达式解析HTML。感谢您的帮助!这很有效。我刚刚删除了“:checked”选择器,因为我想同时点击checked和unchecked输入(此行中只有一个输入)。感谢您在这方面的帮助!我在一个循环中运行代码,所以我相信它是定期更新的,所以另一个解决方案是有效的。再次感谢你!
<div id="out"></div>​
<script>
    var htmlStr = '<div><input type="checkbox" checked="checked"/></div>';
    var temp = $(htmlStr);
    var cb = temp.find("input:checked");
    cb.attr("checked",false);
    jQuery("#out").append(cb);
</script>
<div id="one">
    <input type="checkbox" />
</div>
<button>Tell</button>​

<script>
    function tellMe(){
        var myDiv = jQuery("#one");
        var html1 = myDiv.html();
        console.log(html1);
    }

    jQuery("button").click(tellMe);  
</script>