将 jQuery ID 选择器与 CSS 一起使用
Use jQuery ID Selector with CSS
我实际上是在创建一个主播列表,并检查他们是否在线,如果在线,他们将获得绿色背景色。
现在我想在我的“团队列表”旁边创建一个附加列表,其中包括每个 主播。
为此,我尝试使用与背景颜色相同的方法。
$(".".concat(user)).css("background-color","lightgrey");
(为彩带的每个背景颜色着色)
但现在我只想将主播隐藏在一个列表中,而不是所有地方。
所以我不能用这个:
$(".".concat(user)).css("display", "none");
(将隐藏每个离线主播在每个列表中)
我已经尝试申请ID,但实际上我不知道如何申请。
如果我使用这个:
$("#online".concat(user)).css("display", "none");
没有任何反应。
(我在网上取了ID)
<tr class="header" id ="online">
(我已经尝试将 id 应用到新的 、 the 和现在应用到 the 但没有任何效果)
长话短说:
我想在新列表中隐藏离线主播,但我无法使用与之前相同的 ID 选择器。我该怎么做?
没有太多的开始,但如果你有这样的结构
<table>
<tr class="header Peter" id ="onlinePeter">
<td>Peter</td>
</tr>
<tr class="header John" id ="onlineJohn">
<td>John</td>
</tr>
<tr class="header Michael" id ="onlineMichael">
<td>Michael</td>
</tr>
<tr class="header Bob" id ="onlineBob">
<td>Bob</td>
</tr>
<tr class="header Daniel" id ="onlineDaniel">
<td>Daniel</td>
</tr>
</table>
和类似
的脚本
var user = "John";
$("#online".concat(user)).css("display", "none");
user = "Daniel"
$(".".concat(user)).css("background","lightgrey");
有效。包含 John 的行消失了
在您尝试更改背景颜色的另一段代码中,您正在调用带有 class = 用户的元素,但您提供的 HTML 只有 class "header",添加class后,背景也会发生变化。
我查看了您链接的 jsfiddle,对发生的事情有了更好的了解。
服务器 returns 始终是一个空流,因此代码永远不会进入语句的 "true" 部分。此外,在语句的 "false" 部分,代码更改了背景颜色,然后隐藏了 table 单元格。
function colorize(user){
$.getJSON('https://api.twitch.tv/kraken/streams/'+user, function(channel) {
/*
* Stream always returns as null
*/
console.log(channel["stream"]); // returns null in all tests
var data = channel["stream"]; // data == null
var boolAnswer = ((typeof(data) !== 'undefined') && (data !== null));
console.log(data);
if ( boolAnswer === true) {
$( ".".concat(user) ).css("background-color", "lightgreen");
/*
* boolAnswer is always null, so this piece is skipped all the time
*/
}
else if ( boolAnswer === false){
/*
* First it changes the color and then it hides it
*/
$(".".concat(user)).css("background-color","lightgrey");
$(".".concat(user)).css("display", "none");
}
}).success(function(response){
console.log(response);
});
}
colorize('jankos'); //hides the cell of jankos
colorize(); // doesn't do anything
如果您对以下行发表评论
$(".".concat(user)).css("display", "none");
colorize('jankos'); //changes the color of the cell of jankos
colorize() // still doesn't do anything
我实际上是在创建一个主播列表,并检查他们是否在线,如果在线,他们将获得绿色背景色。
现在我想在我的“团队列表”旁边创建一个附加列表,其中包括每个 主播。
为此,我尝试使用与背景颜色相同的方法。
$(".".concat(user)).css("background-color","lightgrey");
(为彩带的每个背景颜色着色)
但现在我只想将主播隐藏在一个列表中,而不是所有地方。
所以我不能用这个:
$(".".concat(user)).css("display", "none");
(将隐藏每个离线主播在每个列表中)
我已经尝试申请ID,但实际上我不知道如何申请。 如果我使用这个:
$("#online".concat(user)).css("display", "none");
没有任何反应。
(我在网上取了ID)
<tr class="header" id ="online">
(我已经尝试将 id 应用到新的 、 the 和现在应用到 the 但没有任何效果)
长话短说:
我想在新列表中隐藏离线主播,但我无法使用与之前相同的 ID 选择器。我该怎么做?
没有太多的开始,但如果你有这样的结构
<table>
<tr class="header Peter" id ="onlinePeter">
<td>Peter</td>
</tr>
<tr class="header John" id ="onlineJohn">
<td>John</td>
</tr>
<tr class="header Michael" id ="onlineMichael">
<td>Michael</td>
</tr>
<tr class="header Bob" id ="onlineBob">
<td>Bob</td>
</tr>
<tr class="header Daniel" id ="onlineDaniel">
<td>Daniel</td>
</tr>
</table>
和类似
的脚本var user = "John";
$("#online".concat(user)).css("display", "none");
user = "Daniel"
$(".".concat(user)).css("background","lightgrey");
有效。包含 John 的行消失了
在您尝试更改背景颜色的另一段代码中,您正在调用带有 class = 用户的元素,但您提供的 HTML 只有 class "header",添加class后,背景也会发生变化。
我查看了您链接的 jsfiddle,对发生的事情有了更好的了解。
服务器 returns 始终是一个空流,因此代码永远不会进入语句的 "true" 部分。此外,在语句的 "false" 部分,代码更改了背景颜色,然后隐藏了 table 单元格。
function colorize(user){
$.getJSON('https://api.twitch.tv/kraken/streams/'+user, function(channel) {
/*
* Stream always returns as null
*/
console.log(channel["stream"]); // returns null in all tests
var data = channel["stream"]; // data == null
var boolAnswer = ((typeof(data) !== 'undefined') && (data !== null));
console.log(data);
if ( boolAnswer === true) {
$( ".".concat(user) ).css("background-color", "lightgreen");
/*
* boolAnswer is always null, so this piece is skipped all the time
*/
}
else if ( boolAnswer === false){
/*
* First it changes the color and then it hides it
*/
$(".".concat(user)).css("background-color","lightgrey");
$(".".concat(user)).css("display", "none");
}
}).success(function(response){
console.log(response);
});
}
colorize('jankos'); //hides the cell of jankos
colorize(); // doesn't do anything
如果您对以下行发表评论 $(".".concat(user)).css("display", "none");
colorize('jankos'); //changes the color of the cell of jankos
colorize() // still doesn't do anything