jQuery访问div字符串爆炸和比较

时间:2013-01-13 08:12:58

标签: jquery

我想访问我隐藏在页面底部的div。 $ existing_user是一个数组,div是隐藏的。

<div id="existing_user"><?php echo json_encode($existing_user); ?></div>

然后我尝试将div与用户生成的输入进行比较。

<input type='text' name='user_name' id='user_name' />

这是我的jQuery代码:

var existing_user_string = $('#existing_user').text();
var existing_user_array = explode(",",existing_user_string);

if (jQuery.inArray($('#fruit').val(),existing_user_array) == -1) {
    alert('no way this worked');
    }

请帮忙。

1 个答案:

答案 0 :(得分:3)

JavaScript没有explode函数。要获取用户数组,请使用JSON.parse *:

var existing_user_array = JSON.parse( $('#existing_user').text() );

if (jQuery.inArray($('#fruit').val(),existing_user_array) == -1) {
    alert('no way this worked');
}

P.S。您有没有echojson_encode d数组直接导入脚本的原因?

<script>var existing_user_array = <?php echo json_encode($existing_user); ?></script>

这样你就不必在DOM中钓鱼了,你甚至不需要解析JSON(只要确保在页面上包含其他脚本之前生成这个脚本,所以在您尝试使用之前填充existing_user_array。)

* JSON.parse在IE7及以下版本中不可用。如果您必须采用此路线并且必须支持这些旧浏览器,请确保包含Crockford's json2 library