Jquery: Checking to see if div contains text, then action

后端 未结 7 1290
野趣味
野趣味 2020-11-28 06:47

I\'m trying to check in jQuery if a div contains some text, and then add a class if it does.

So I wrote something like this:

    if( $(\"#field >          


        
7条回答
  •  野趣味
    野趣味 (楼主)
    2020-11-28 07:01

    Your code contains two problems:

    • The equality operator in JavaScript is ==, not =.
    • jQuery.text() joins all text nodes of matched elements into a single string. If you have two successive elements, of which the first contains 'some' and the second contains 'Text', then your code will incorrectly think that there exists an element that contains 'someText'.

    I suggest the following instead:

    if ($('#field > div.field-item:contains("someText")').length > 0) {
        $("#somediv").addClass("thisClass");
    }
    

提交回复
热议问题