2

私はJavaScriptが初めてです。この行に沿って、以前に回答されたいくつかの質問を見てきました。私のHTMLはおおよそ次のとおりです。

<!DOCTYPE html>
<html>
<head>
<style type="text/css">
.skills{
list-style:none;
padding: 0;
margin-bottom: 200px;
}
.skills li{
width: 200px;
float: left;
padding: 0;
 }
 </style>
 </head>
  <body>
  <h2>Skills</h2>
<ul class="skills">
    <li>a</li>
    <li>b</li>
    <li>c</li>
    <li>d</li>
    <li>e</li>
</ul>
  </body>
  </html>

私は使用しようとしました:

 <script type="text/javascript">
   function sortLi()
    {
      var skills = [getElementsbyTagName("li")];
      skills.sort();
          var x=document.getElementsByTagName("li");
              x.innerHTML=skills;
     }
  </script>

.getElementsbyTagName を .getElementsbyClass("skills") に交換しても無駄です。私は自分が何か間違ったことをしていることを知っていますが、指を置くことはできません.

4

1 に答える 1

1

このソリューションを確認してください(jsfiddle にリンクがあります)。

var mylist = $('.skills');
var listitems = mylist.children('li').get();
listitems.sort(function(a, b) {
    return $(a).text().toUpperCase().localeCompare($(b).text().toUpperCase());
})
$.each(listitems, function(idx, itm) {
    mylist.append(itm);
});​

これはjQueryを使用しており、別のStackoverflowの回答からほぼ完全に持ち上げられています。

基本的に、いくつかの構文エラーがあり、コードを呼び出さないなどです。jsfiddle関数でリンクした実用的なソリューションがどのように機能するかを見て、それが役立つかどうかを確認してください。

于 2012-11-12T21:09:38.300 に答える