jquery怎么根据html()的内容来选择

jquery怎么根据html()的内容来选择,第1张

$(":contains('First')");//这种是jquery内置的包含选择器,但是因为是包含,因此选择的内容只要包含“First”就会选中。

另外一种通用的。用过滤函数。

$('')filter(function(index, el){

    var childNodes = elchildNodes;

    return childNodeslength === 1 && childNodes[0]nodeType === 3 && childNodes[0]nodeValue === 'First';

});

但上面的这种方式只适合你这种情况,如果你的li元素像下面这样:

<ul>

<li>First<a href="">这是链接哦</a>

</ul>

也是不行的。就是说,必须元素下只有文字,不再有其他元素。

jQuery 中使用 text() 或者 html() 函数可以获取td的内容:

$("td")text();   // 或者 $("td")html();

二者区别在于前者返回所选元素的文本内容,后者返回所选元素的内容(包括 HTML 标记)。

下面实例演示:点击按钮后获取所有选中行的td单元格的内容

1、HTML结构

<table id = "test">

    <tr><td><input type="checkbox" name="test"></td><td>1</td></tr>

    <tr><td><input type="checkbox" name="test"></td><td>4</td></tr>

    <tr><td><input type="checkbox" name="test"></td><td>7</td></tr>

    <tr><td><input type="checkbox" name="test"></td><td>10</td></tr>

</table>

<input type="button" value="确定">

2、jquery代码

$(function(){

    $(":button")click(function() {

        str = $(":checkbox:checked")map(function() {

            return $(this)parent()siblings('td')text();  // 根据checkbox定位到后面的td,然后使用text()函数获取内容

        })get()join(", ");   // 获取内容数组并拼接为字符串

        alert(str);   // 输出

    });

});

3、效果演示

有两种方法可以获取tr下的第二个td元素:

1、使用css选择器,$("tr td:nth-child(2)")。

2、使用遍历函数eq()。

下面就以上两个方法进行实例演示:单击按钮改变所有行的第二个单元格的样式,单击任意行改变该行第二个单元格的样式。

1、HTML结构

<table id = "test">

<tr><td>1</td><td>1</td><td>2</td><td>3</td></tr>

<tr><td>2</td><td>4</td><td>5</td><td>6</td></tr>

<tr><td>3</td><td>7</td><td>8</td><td>9</td></tr>

<tr><td>4</td><td>1</td><td>2</td><td>3</td></tr>

</table>

<input type="button" id="btn" value="设置">

2、jquery代码

$(function(){

$("#btn")click(function() {

$("#test tr td:nth-child(2)")addClass('red');

});

$("#test tr")click(function() {

$(this)children('td')eq(1)addClass('red');

});

});

3、效果演示

jquery可以利用parseHtml来 *** 作html字符串:

<html>

<head>  

<script src="

$log = $( "#log" ),    

str = "hello, <b>my name is</b> jQuery",    

html = $parseHTML( str ),    

nodeNames = []; // Append the parsed HTML$logappend( html ); // Gather the parsed HTML's node names$each( html, function( i, el ) {    nodeNames[i] = "<li>" + elnodeName + "</li>";}); // Insert the node names$logappend( "<h3>Node Names:</h3>" );$( "<ol></ol>" )  append( nodeNamesjoin( "" ) )  appendTo( $log ); 

</script> 

</body>

</html>

运行结果:

Content:

hello, my name is jQueryNode Names:

#text

B

#text

以上就是关于jquery怎么根据html()的内容来选择全部的内容,包括:jquery怎么根据html()的内容来选择、如何用jquery获得td里边的内容、jquery 怎么获取tr下的第二个td元素等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9472627.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存