Как изменить атрибут data-icon в результате xmlHTTPRequest?

Я пытаюсь изменить значок данных данной строки в виде списка. Функция jquery attr () и функция setAttribute () javascript не работают.

 <script>
function increment(id) {
var row = "row" + id;
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("issue"+id+"Upvote").innerHTML=xmlhttp.responseText;
$(row).attr("data-icon", "arrow-d");

}
}
xmlhttp.open("GET","increment.php?q="+id,true);
xmlhttp.send();
}
</script>//Fetching from your database table.
$query = "SELECT * FROM $usertable";
$result = mysql_query($query);

if ($result) {
while($row = mysql_fetch_array($result)) {
$issue = $row["issueName"];
$upvotes = $row["upvotes"];
$id = $row["issueID"];
echo "<li data-icon=\"arrow-u\" id=\"row".$id . "\"> <a href=\"point.php\">".$issue ."</a><a href=\"javascript:increment(".$id.");\"></a> <span id=\"issue".$id."Upvote\" class=\"ui-li-count\">" .$upvotes."</span></li>";

}
}

1

Решение

Лучше изменить HTML, прежде чем вставлять в DOM:

var toInsert = $( xmlhttp.responseText );
toInsert.attr("data-icon", "arrow-d");
$("#issue"+id+"Upvote").html().append( toInsert );
0

Другие решения

Вы устанавливаете строку как

var row = "row" + id;

Но ваш селектор

$(row)

Делая это, например

$('row1')

Если это идентификатор, он должен быть

$('#'+row)

РЕДАКТИРОВАТЬ Когда ваш селектор заработает, чтобы изменить значок в jquery mobile, используйте buttonMarkup,

$('#'+row).buttonMarkup({ icon: "star" });
0

Догадаться! $ (Row.toString ()) найти ( ‘UI-значок.) RemoveClass (‘ щ-пиктограммами обычая ‘) addClass (‘ щ-икона-звезда’)…; Спасибо

0
По вопросам рекламы [email protected]