if 문으로 여러가지 조건을 OR 조건으로 만들려다보니 너무 길어지고 가독성도 떨어지는 것 같아서

해당 조건들을 배열로 만들고 이 배열을 가지고 if 문을 만들고 싶었다.


해서 찾아보니 아래와 같은 방법으로 사용할 수 있었다.


//동작안됨

if (["fieldset", "legend", "span", "input", "label", "select", "option", "br", "textarea", "img"].includes(item.tagName.toLowerCase()))

    return;


크롬에선 잘 동작한다. 

하지만 ie11 버전에서는 includes 함수가 없다면서 동작하지 않는다. 


해서 또 찾아보니 아래와 같은 방법으로는 사용이 되더라.

원래는 찾아보니 indexOf를 사용하라는데, 하나짜리 문자열이 겹치는 통에 사용할 수 없었다.

//ie11 에서도 동작 잘 됨

var notList = ["fieldset", "legend", "span", "input", "label", "select", "option", "br", "textarea", "img"];

if ($.inArray(item.tagName.toLowerCase(), notList) != -1)

    return;


//또는 아래와 같은 방법으로 한 줄로..

if ($.inArray(item.tagName.toLowerCase(), ["p", "legend""span""input""label"]) != -1) {

}





Posted by motolies
,