는 아약스 콘텐츠를로드로 인해, 나는에서 기능을 변경했다 :PrototypeJS Element.prototype.appendChild는 문제
document.observe('dom:loaded',function() {
$$('.userListHeaderCell').invoke('observe', 'click', function() {
this.toggleClassName('desc');
var colnumber = this.up().childElements().indexOf(this);
var content = this.up(2);
sortColumn(content, colnumber, this.hasClassName('desc'));
});
});
TO :
document.observe('click', function(e, el) {
if (el = e.findElement('.userListHeaderCell.sortable')) {
el.toggleClassName('desc');
var colnumber = el.up().childElements().indexOf(el);
var content = el.up(2);
sortColumn(content, colnumber, el.hasClassName('desc'));
}
});
sortColumn 보이는 같은 :
function sortColumn(content, colnumber, desc) {
content.select('.userListRow').sort(function(a,b){
var atext = a.down(colnumber).innerHTML.stripTags().toLowerCase();
var btext = b.down(colnumber).innerHTML.stripTags().toLowerCase();
return atext.localeCompare(btext) * (desc ? -1 : 1);
}).each(Element.prototype.appendChild, content);
}
토글 및 colnumber 작업 및 내용은 객체 HTMLDivElement이지만 내용 변수를 변환하거나 anothe를 사용해야합니다. r 함수가 아니라 sortColumn에 무엇이 있는지 확실하지 않습니다. 내가 오류는 다음과 같습니다
"자바 스크립트 인수를 변환 할 수 없습니다"nsresult : "0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)"위치 : "JS 프레임 :: https://www.someurl.com/scripts/prototype.js :: :: 라인 (804)"데이터 : 무슨 짓을]
나는이 일을하기 위해 바꿀 필요가 있니?
감사합니다.
편집 :
IE에서 오류가 보여줍니다 재산 '전화'의 값을 가져올 수 없습니다 : 개체가 null이거나 정의는 prototype.js이다, 라인 (804) 문자 9
을 내가 문제가 함께 생각을 Element.prototype.appendChild
Element.extend (content)를 추가하려고했으나 도움이되지 않습니다.
예 데이터 :
<div id="contentbox_Users" class="userList">
<div class="userListHeader">
<div class="userListHeaderCell col1 sortable">First Name</div>
<div class="userListHeaderCell col2 sortable">Last Name</div>
</div>
<div id="contentbox_People">
<div class="userListRow">
<div class="userListCell col1">John</div>
<div class="userListCell col2">Smith</div>
</div>
<div class="userListRow">
<div class="userListCell col1">Bob</div>
<div class="userListCell col2">Ray</div>
</div>
<div class="userListRow">
<div class="userListCell col1">Fred</div>
<div class="userListCell col2">Jones</div>
</div>
</div>
</div>
HTML이 없으면 스크립트가 올바른 요소를 선택하는지 여부를 알기가 어렵습니다. 이와 같은 오류는 대개 요소를 찾을 수 없음을 의미합니다. –
HTML을 게시했습니다. 감사합니다. – fanfavorite
"desc"에 대해 CSS에 경계선을 추가하고 클래스 이름이 추가 될 때 어떤 요소가 선택되는지 확인하십시오. 무슨 일이 일어나는지 보는 것이 도움이 될 수 있습니다. –