jquery if else语句

时间:2012-03-02 14:08:47

标签: jquery ajax

我只是想知道如何使用这个功能:不是在我的情况下。

这是jquery。我正在尝试选择列表中不在if循环中提及的元素。

Json对象收到:[“blue”,“teleport”,“love”,“transformers”,“blink182”,“闰年”,“数据库”,“情人节”,“看跌”,“刺痛”,“ a1“,”telegraph“,”trion“,”spa“,”property“,”jolie“,”grace“,”santa claus“]

我只想收到没有特殊字符的单词

function refreshKeywords(e) {
    e.preventDefault();
    var refresh_form = jQuery(e.target);
    alert("HELLO");
    $.ajax({
        url: refresh_form.attr('action'),
        type: refresh_form.attr('method'),
        data: refresh_form.serialize(),
        dataType: 'json',
        success: function(response) {
            var list = response.new_list;
            if (list != "["
            or list != "]"
            or list != "{"
            or list != "}"
            $('#keywords').append("<li>" + list + "</li>");
            },
        });
    }​

如果有人知道如何在我的代码中输入:not function,我将不胜感激。非常感谢你。

4 个答案:

答案 0 :(得分:1)

这里没有选择器没有用。 :not选择器用于DOM元素。

http://api.jquery.com/not-selector/

答案 1 :(得分:1)

:not是一个过滤器,用于过滤选择中的元素,例如:

$("input:not([type='submit'])")

这将选择页面上的所有input元素,但类型属性等于submit的元素除外

建议使用not()方法代替:not过滤器

进行阅读

你想做什么,做什么不行?

所以看看你的更新,你不能在if条件中使用'或'这个词,使用双管||相反,例如。

if (list != "[" || list != "]" || list != "{" || list != "}") {
    $('#keywords').append("<li>" + list + "</li>");
}

除此之外,你可能想要使用&amp;&amp;相反,因为你不想要任何这些字符:

if (list != "[" && list != "]" && list != "{" && list != "}") {
        $('#keywords').append("<li>" + list + "</li>");
    }

但是......你可能希望在任何情况下以不同的方式做到这一点,而不是直接使用JSON字符串,你可能想要解析它以将它变成一个真正的JavaScript对象,以便你可以使用它更容易,例如

var array = $.parseJSON(response.new_list);

答案 2 :(得分:1)

json响应不是您接近它时的可读字符串。这是一个需要循环以解析vales的数组

success: function(response) {
    var html='';
    $.each(response, function( i, item){
       html+= "<li>" + item + "</li>";
    });
    $('#keywords').append(html)

 },

答案 3 :(得分:0)

你想要的是JSON parser。然后解析迭代结果数组。

//Cache #keywords outside the loop to make it faster.
var array = JSON.parse(response.new_list), keywords = $("#keywords");
for(var i = 0, len = array.length; i<len; i++) {
    keywords.append("<li>" + array[i] + "</li>");
}