2017-05-25 81 views
0

我想更改文本,其中td值爲:"null""Not rating found"!。但它不斷改變所有的價值觀,而只是改變了所有價值觀。jQuery更改匹配文本

$(document).ready(function() { 
$(".form-inline").submit(doStuff); 
}); 

function doStuff(e){ 
e.preventDefault(); 

var input = $("#nanizankaInput").val(); 
var link = "http://api.tvmaze.com/search/shows?q="; 
link = link + input; 

$.ajax({ 
    url: link, 
    method: 'GET', 
    success: function (data) { 
     console.log(data); 

var prazno = $("thead tr td:nth-child(3)").text(); 

    for(var i = 0; i < data.length; i++){ 
    $("thead").first().append("<tr>" + "<td>" + data[i].show.id + "</td>" + "<td>" + data[i].show.name + "</td>" + "<td>" + data[i].show.rating.average + "</td>" +"</tr>"); 

    if ($("thead tr td:nth-child(3)").text("null")) { 
     $("thead tr td:nth-child(3)").text("No rating found!") 
    } 
    } 
}}); 
} 

您必須輸入類似"bad"的內容才能看到結果。

現場演示:http://jsbin.com/dupuzonita/edit?html,js,output

+0

'如果($( 「THEAD TR TD:第n個孩子(3)」。)文本( 「空」)){'你在這裏設置文本'null',但要比較:'if($(「thead tr td:nth-​​child(3)」)。text()===「null」){' – empiric

回答

1
返回true

增加了一個評級類和技巧的工作。檢查並嘗試下面的代碼:

$(document).ready(function() { 
 
$(".form-inline").submit(doStuff); 
 
}); 
 

 
function doStuff(e){ 
 
e.preventDefault(); 
 

 
var input = $("#nanizankaInput").val(); 
 
var link = "http://api.tvmaze.com/search/shows?q="; 
 
link = link + input; 
 

 
$.ajax({ 
 
    url: link, 
 
    method: 'GET', 
 
    success: function (data) { 
 
     console.log(data); 
 

 
var prazno = $("thead tr td:nth-child(3)").text(); 
 

 
    for(var i = 0; i < data.length; i++){ 
 
    \t $("thead").first().append("<tr>" + "<td>" + data[i].show.id + "</td>" + "<td>" + data[i].show.name + "</td>" + "<td class='rating'>" + data[i].show.rating.average + "</td>" +"</tr>"); 
 

 
    } 
 
    $(".rating").each(function(){ 
 
     if($(this).text() == 'null') 
 
      $(this).text('No rating found!'); 
 
    }); 
 
}}); 
 
}

1

健康檢查是錯誤的

if ($("thead tr td:nth-child(3)").text("null")) { 
     $("thead tr td:nth-child(3)").text("No rating found!") 
} 

你設置值,而不是檢查它,以便evertime它$(selector).text("null")

if ($("thead tr td:nth-child(3)").text() === "null") { 
     $("thead tr td:nth-child(3)").text("No rating found!") 
} 
0

只需更換到

if (!$("thead tr td:nth-child(3)").text()) 
1

除了文字錯誤,你是通過行循環,但只檢查第一排第三個TD。

您需要更改下面的代碼。

$(document).ready(function() { 
$(".form-inline").submit(doStuff); 
}); 

function doStuff(e){ 
e.preventDefault(); 

var input = $("#nanizankaInput").val(); 
var link = "http://api.tvmaze.com/search/shows?q="; 
link = link + input; 

$.ajax({ 
url: link, 
method: 'GET', 
success: function (data) { 
    console.log(data); 

var prazno = $("thead tr td:nth-child(3)").text(); 

for(var i = 0; i < data.length; i++){ 
$("thead").first().append("<tr>" + "<td>" + data[i].show.id + "</td>" + "<td>" + data[i].show.name + "</td>" + "<td>" + data[i].show.rating.average + "</td>" +"</tr>"); 
var td = $("thead tr").eq(i).find("td:nth-child(3)"); 
if (td.html() === "null") { 
    td.html("No rating found!") 
} 
} 
}}); 
} 

你也可以使用你用於td的nth-child選擇器。

$("thead tr:nth-child("+i+") td:nth-child(3)"); 
+0

這似乎正在工作! – Slasher