1

在某物上轻轻撞了一下。

所以我有一个通过 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');
     }

是 JSFiddle

4

3 回答 3

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

  2. 这里:

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

你缺少分号。您必须在任何操作的末尾加上分号,如下所示:

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

分号用作操作分隔符。

  1. 这里:

divtag += [ '' + '', json.feed.entry[i].gsx$studentname.$t + ' ' +
'', json.feed.entry[i].gsx$classlevel.$t + '' + '' + 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 教育。请按照一些教程来解决问题,然后再尝试解决您的问题。如果你没有这样做,那么你至少会有一个有根据的猜测。

于 2013-09-12T01:27:57.430 回答
1

添加内容后tipswrap添加条件

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

演示:小提琴

于 2013-09-12T00:29:53.627 回答
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');
  });
});

这是一个演示

于 2013-09-12T01:12:01.737 回答