Html in jquery string

Html in jquery string

本文关键字:string jquery in Html      更新时间:2023-09-26

我需要从字符串中解析html的最佳方法,我已经尝试了.html();但它不起作用。我需要它在 cdata 变量上。

$(document).ready(function () {
var anOpen = [];
var oTable = $('#table_id').dataTable();
$('#table_id tbody').on('click', 'tr', function (e) {
    var nTr = this;
    var i = $.inArray(nTr, anOpen);
    var cdata = this.cells[1];
    console.log(cdata);
    if (i == -1) {
        $(this).addClass('row_selected');
        var nDetailsRow = oTable.fnOpen(nTr, fnFormatDetails(oTable, nTr, 1), 'details');
        $('div.innerDetails', nDetailsRow).slideDown();
        anOpen.push(nTr);
    }
    else {
        $(this).removeClass('row_selected');
        $('div.innerDetails', $(nTr).next()[0]).slideUp(function () {
            oTable.fnClose(nTr);
            anOpen.splice(i, 1);
        });
    }
});

首先,你应该使用 $(this) 而不是 javascript this 。只是为了连贯性,当你可以用jQuery实现它时,最多尝试使用jQuery。

使用jQuery你可以做

$myTd = $(this).find("td").get(1) ;

$myTd.text()在这里给出你的文字。请参阅 http://api.jquery.com/text/

使用 javascript,您希望获取 td 标签的内部内容...所以this.cells[1].innerHTML返回标签的内部 HTML,在您的情况下是您的文本。

html()是尝试

从元素获取数据的方法。

$(document).ready(function(){
    var html_str = $("#foo").html();
    alert("Your HTML is: " + html_str); 
});

请参阅:http://jsfiddle.net/4q6AZ/

如果您想去除所有 HTML 标记,您可以考虑:

var html_string = '<h1>Test</h1><p>A paragraph with a <a href="link">link</a></p>';
var regex = /<('/?)[a-zA-Z0-9][^>]*>/g;
var stripped = html_string.replace(regex, '');
$("#result").html(stripped);

请参阅:http://jsfiddle.net/Y6q2j/5/

Jquery .text()会发回文本而不是 HTML 元素 http://api.jquery.com/text/。