jQuery:如果存在select元素,则执行一些操作

3 javascript ajax jquery jquery-selectors

嘿,我环顾了Stack Overflow并尝试了其他一些人的尝试,我无法让这个工作.

我有一个像这样的选择元素:

<select id="slct_firstCat" name="slct_firstCat" size="15">
</select>
Run Code Online (Sandbox Code Playgroud)

这只显示一个特定的AJAX请求完成后,所以这个select元素没有加载原始页面的DOM,它在主页加载后作为单独的AJAX请求加载.

我基本上想要这样做......

if (/* select element exists */) {
  // Then change the colour of a div to green
} else {
  // Change the colour to red
}
Run Code Online (Sandbox Code Playgroud)

但请记住,这必须在页面加载工作.如果需要,我可以单击选择以运行JS函数.

我在下面尝试了这个代码,但无法让它工作:

if ($(".element1").length > 0 || $(".element2").length > 0 {
  // code
}
Run Code Online (Sandbox Code Playgroud)

所以基本上,如果select元素存在,则将选项卡颜色更改为绿色,否则将其更改为红色.

nyu*_*a7h 5

你必须把你的代码放在jQuery.ajax()成功的回调中.并且这> 0部分不需要$('.element1').length > 0,因为 - 与Ruby-不同,0并且在JavaScript ""中也是的.

jQuery.ajax({
    url: 'example.php',
    success: function () {    
        if ($('#slct_firstCat').length) {
            $('#myDiv').css('color', 'green');
        } else {
            $('#myDiv').css('color', 'red');
        }
});
Run Code Online (Sandbox Code Playgroud)