Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 获取HTML标记和文本_Jquery_Html - Fatal编程技术网

Jquery 获取HTML标记和文本

Jquery 获取HTML标记和文本,jquery,html,Jquery,Html,我目前正在创建一个表,该表允许我按升序和降序对行进行排序,以及单击和拖动列。我有工作,但我想改善它。目前,我正在获取标题和单元格元素文本,然后将HTML标记连接到字符串: var row=“”+myData+” 我想知道的是,jQuery是否有一个方法/函数,它允许我只在一个元素上附加标记来获取文本 我试过.text().html().contents().parent().html()。函数.parent().html()与我想要的最接近,但是它给了我所有带有标记和文本的行,而不是我想要的行

我目前正在创建一个表,该表允许我按升序和降序对行进行排序,以及单击和拖动列。我有工作,但我想改善它。目前,我正在获取标题和单元格元素文本,然后将HTML标记连接到字符串:

var row=“”+myData+”

我想知道的是,jQuery是否有一个方法/函数,它允许我只在一个元素上附加标记来获取文本

我试过
.text()
.html()
.contents()
.parent().html()
。函数
.parent().html()
与我想要的最接近,但是它给了我所有带有标记和文本的行,而不是我想要的行

所以我想保存在变量中的是
First Column
,而不仅仅是
First Column

下面是一个我尝试过的、使用基本HTML标记和指向我研究的API的链接的复杂示例:

更新:

对于那些好奇我为什么要这么做的人,这里是我的副业:


您可以使用
outerHTML
属性

var html = $(this).prop('outerHTML');
或:

$.fn.outerHTML=函数(){
var$t=$(此).eq(0);
如果($t[0]中的“outerHTML”){
返回$t[0]。outerHTML;
}否则{
返回$t.clone().wrap(“”).parent().html();
}
};
警报($(this.outerHTML());
新的JSFIDLE:

$(“tr”)。每个(函数){
var-colIndex=0;
$(this.find(“td”).each(函数)(){
$(this.parent().parent().find('th'))
.每个(功能(索引){
如果(索引=colIndex){
var colHeader=$(this.prop(“outerHTML”);
警报(colHeader);
}
});
colIndex++;
});            
});

基本上,保存您所在的
tr
的索引,然后从dom中抓取一些父项(到
),然后找到
th
标记。对于每个
th
标记,仅输出原始
tr
索引的
th
。您试图获取的变量是
colHeader

通过将HTML连接为文本来实现排序的可能重复,这听起来不是个好主意。如果您只是使用jQuery方法来移动元素就更好了。我会检查一下,我一直只找到一个特定的元素或文本。谢谢,我会看看它是否有用。请知道
标签
元素
@Bondye
元素
=一对有或没有内容的
标签
之间的区别<代码>标签
=这是一个
。还有什么其他的吗?这有什么帮助?真棒就像冠军一样!我想一定有什么东西,但我找不到:(在我接受之前的时间限制,你太快了!
var html = this.outerHTML;
$.fn.outerHTML = function () {
    var $t = $(this).eq(0);
    if ("outerHTML" in $t[0]) {
        return $t[0].outerHTML;
    } else {
        return $t.clone().wrap('<div></div>').parent().html();
    }
};


alert($(this).outerHTML());