使用jQuery在变量内容上选择器

时间:2011-06-07 07:15:56

标签: jquery

我有这段代码:

jQuery('#btSave').click(function (event) {
    var jqxhr = $.post("Controller/Action", {
        lastName: $("#LastName").val()      
    },
    function (data) {
        //here
    })
});

我想知道在“数据”变量中是否存在id“Mydiv”

我该怎么做?

谢谢,

5 个答案:

答案 0 :(得分:2)

您可以使用RegEx或使用像IndexOf ...

这样的String Manipulation功能

尝试search()字符串方法。

 var isFound = data.search(new RegExp(/Mydiv/i));

如果你使用的是jQery,那么这是alredy给出的答案

jQuery .search() to any string

Find text string using jQuery?

答案 1 :(得分:1)

我认为data是一个包含HTML标记的字符串。如果是,那么:

var tree = $(data);
if (tree.find("#Mydiv")[0]) {
    // An element with the `id` "Mydiv" exists in the tree
}

您不必使用变量,您可以这样做:

if ($(data).find("#Mydiv")[0]) {
    // An element with the `id` "Mydiv" exists in the tree
}

...但我认为你之后可能会想要用tree做其他事情,所以我们要避免多次解析它。

注意:如果“Mydiv”元素可能位于data中HTML的顶级,则您需要将该结构包装在上述工作的父元素(还有其他方法,但它们更复杂)。因此,如果可能出现这种情况,请使用$("<div>" + data + "</div>")而不是$(data)。这是因为find搜索后代元素,所以如果HTML是“hi”,它就不会找到它,因为它不是后代(它是元素本身)。

更新:这是live example

答案 2 :(得分:0)

如果我理解正确,这将会发生。

if($("#Mydiv",data).length)
{
    //Mydiv exists
}

答案 3 :(得分:0)

达到我理解的程度......

如果你想在数据中找到id为'myDiv'的div ... 你可以这样做..

function (data) {
        if($("#Mydiv",data)) {
            // this should do
        } 
    })

更清楚地解释你想要的东西......

答案 4 :(得分:0)

var result="limitless isa web ...";
if(result.search('limitless')>=0) // or another text Example: web
 {
   alert("ok");
 }