Javascript 添加一个<;hr/>;元素到类中的每个元素,获取[Object Object]或纯文本,而不是hr元素
在对Javascript 添加一个<;hr/>;元素到类中的每个元素,获取[Object Object]或纯文本,而不是hr元素,javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,在对进行排序后,我试图添加一个与.pressRow类对应的水平条。这是我的JavaScript函数: function SortPressRecent() { var $pressRows = $(".pressRow"); var OrderedDivs = $pressRows.sort(function (a, b) { var da = new Date($(a).data("date")); var db = new Date($(b).
进行排序后,我试图添加一个与.pressRow
类对应的水平条。这是我的JavaScript函数:
function SortPressRecent() {
var $pressRows = $(".pressRow");
var OrderedDivs = $pressRows.sort(function (a, b) {
var da = new Date($(a).data("date"));
var db = new Date($(b).data("date"));
return da > db ? -1 : da < db;
});
$.each(OrderedDivs, function () {
$(this)[0].append($('<hr />'));
});
$("#PressRows").html(OrderedDivs);
}
function SortPressRecent() {
var $pressRows = $(".pressRow");
var OrderedDivs = $pressRows.sort(function (a, b) {
var da = new Date($(a).data("date"));
var db = new Date($(b).data("date"));
return da > db ? -1 : da < db;
});
$("#PressRows").html(OrderedDivs);
$(".pressRow").after('<hr/>');
}
如果我附加$('
')
,它将显示为[Object Object]
。如果我将其添加为'hr'
,它将显示为文本,而不是我想要的行
编辑:你们的答案都是正确的。我意识到我有一个不同的问题,我需要在每个按row
的关闭
元素后添加它,而不是在内部。我最终没有使用$。每个功能:
function SortPressRecent() {
var $pressRows = $(".pressRow");
var OrderedDivs = $pressRows.sort(function (a, b) {
var da = new Date($(a).data("date"));
var db = new Date($(b).data("date"));
return da > db ? -1 : da < db;
});
$.each(OrderedDivs, function () {
$(this)[0].append($('<hr />'));
});
$("#PressRows").html(OrderedDivs);
}
function SortPressRecent() {
var $pressRows = $(".pressRow");
var OrderedDivs = $pressRows.sort(function (a, b) {
var da = new Date($(a).data("date"));
var db = new Date($(b).data("date"));
return da > db ? -1 : da < db;
});
$("#PressRows").html(OrderedDivs);
$(".pressRow").after('<hr/>');
}
函数SortPressRecent(){
变量$pressRows=$(“.pressRow”);
var OrderedDivs=$pressRows.sort(函数(a,b){
var da=新日期($(a).数据(“日期”);
var db=新日期($(b).数据(“日期”);
返回da>db?-1:da ”);
}
你把普通的JS和jQuery搞混了
您的代码是:
$(this)[0].append($('<hr />'));
$(this)[0]。追加($(“
”);
应该是哪一个
$(this).append($('<hr />'));
$(this.append($(“
”);
方法是jQuery方法,需要像$(this)
这样的jQuery对象。当您尝试使用$(this)[0]
访问第一项时,返回的是一个JavaScript对象,而不是jQuery对象,因此它没有append()
方法
您还可以将HTML字符串传递给append()
方法,这样您就可以简单地传递它“
”
,而无需将其设置为jQuery对象$(“
”)
更改此行:
$(this)[0].append($('<hr />'));
那是因为你用错了$(this)[0]
返回DOM节点($(this)[0]==this
),但实际上您不想使用jQuery对象。使用:$(this).append(“
”)
也没有必要将'
作为jQuery对象<代码>附加(“
”)
将完成此任务。性能差异可以忽略不计,但这样做仍然没有意义。
$(this)[0].append($('<hr />')[0]);