根据Json提要向一个元素添加一个类

时间:2013-09-12 00:26:46

标签: javascript jquery json spreadsheet

轻微撞击某物。

所以我有一个电子表格提要来自json。

加载后,如果它们包含某个单词,我希望页面上已有的元素可以执行某些操作。

遇到麻烦。

这是我的代码:

      /*feed*/

        function displayContent(json) {
var len = json.feed.entry.length
var divtag = ''
for (var i=0; i<len; i++) {

    divtag += [
        '<div id=' +' tooltipwrap' + i  + '>'  +
        '<span style="font-size:22px; font-weight:600;">',
        json.feed.entry[i].gsx$studentname.$t + ' ' +  
         '<span class="hide"  style="font-size:18px; font-weight:300;">',
        json.feed.entry[i].gsx$classlevel.$t
        +  '</span>' + '<span id=' + 'tooltipside' + i +'>' + 
         json.feed.entry[i].gsx$gender.$t + '-' +
        '</span>',


        '</div>'

        ].join(''); 
        }
document.getElementById('tipswrap').innerHTML = divtag
    }

/ *我想做什么* /

     if ($('#tooltipside0').html() === "Senior") {
           $("#test1").addClass('no');
     }

Here是JSFiddle

3 个答案:

答案 0 :(得分:1)

将内容添加到tipswrap后添加条件

 document.getElementById('tipswrap').innerHTML = divtag; //$('#tipswrap').html(divtag)
 if ($.trim($('#tooltipside0').html()) === "Senior") {
       $("#test1").addClass('no');
 }

演示:Fiddle

答案 1 :(得分:1)

我建议你为所有名为student的行添加一个类,然后从那里使用这个javascript:

function displayContent(json) {
  var len = json.feed.entry.length
  var divtag = ''
  for (var i = 0; i < len; i++) {
    divtag += 
      '<div class="student" id="tooltipwrap'+i+'">'+
        '<span style="font-size:22px; font-weight:600;">'+
          json.feed.entry[i].gsx$studentname.$t +
          '<span class="hide" style="font-size:18px; font-weight:300;">'+
            json.feed.entry[i].gsx$classlevel.$t +
          '</span> '+
          '<span id="tooltipside'+i+'">'+
            json.feed.entry[i].gsx$gender.$t + '-' +
          '</span>'+
        '</span>'+
      '</div>';
  }
  document.getElementById('tipswrap').innerHTML = divtag
}

jQuery(document).ready(function($) {
  $('.student').each(function() {
    if ($(this).text().toLowerCase().indexOf("senior") >= 0)
      $(this).addClass('senior');
  });
});

这是demo

答案 2 :(得分:1)

  1. 注意制表。现在你的代码很难阅读,因为你没有这样做。

  2. 下面:

    var len = json.feed.entry.length var divtag =''

  3. 你错过了分号。您必须在任何操作结束时放置分号,如下所示:

    var len = json.feed.entry.length;
    var divtag = '';
    

    分号作为操作分隔符。

    1. 这里:
    2. divtag + = [     ''+     ',     json.feed.entry [i] .gsx $ studentname。$ t +''+
           ',     json.feed.entry [I] .gsx $ classlevel。$吨     +''+''+      json.feed.entry [i] .gsx $ gender。$ t +' - '+     '',

      '</div>'
      
      ].join('');
      

      您有多个问题:

      您未能将html属性放入引号,因此生成的html将无效。此外,您在最后一次连接时使用了逗号而不是加号。

      结论:您显然没有准备好实现此代码,因为:

      - You lack Javascript syntax knowledge
      - You lack HTML syntax knowledge
      - You do not pay attention to tabulation
      

      因此,您的主要问题不在于问题,即如何根据JSON提要向元素添加类。你的主要问题是你缺乏Javascript和HTML教育。请按照一些教程来解决问题,然后再尝试解决问题。如果你没有这样做,那么你至少会有一个有根据的猜测。