所选行的Jquery getElementsByClassName

时间:2016-01-11 13:29:30

标签: javascript jquery

有没有办法将getElementsByClassName用于一组选定的行?

2 个答案:

答案 0 :(得分:0)

在此论坛发帖之前,请阅读文档,或者搜索其他类似主题以找到您的解决方案!

你有getElementsByClassName的官方DOM文档here ...

此外,您还可以使用“Javascript”和“JQuery”标签对帖子进行评论。

使用Javascript的JQuery。函数getElementByclassName是javascript问题,而不是Jquery。

使用Javascript和getElementByClassname()选择很多行并更改背景颜色:

HTML:

<table>
    <tbody>
        <tr class='trClass' >
            <td>Something</td>
        </tr>
        <tr class='trClass' >
            <td>Other Something</td>
        </tr>
    </tbody>
</table>
<input type="button" onclick="changeAllRowsColor()" value="changeColor" />

100%javascript:

<script>
    function changeAllRowsColor(){
        var allRows = document.getElementsByClassName('trClass');
        var i = allRows.length;
        while(i--) {
            allRows[i].style.backgroundColor = "#FCC";
        }
    }
</script>

与100%Jquery相同:

HTML:

<table>
    <tbody>
        <tr>
            <td>Something</td>
        </tr>
        <tr>
            <td>Other Something</td>
        </tr>
    </tbody>
</table>
<input type="button" id="changeColor" value="changeColor" />

100%JQuery:

<script>
    $('#changeColor').click(function(){
        $('tr').each(function(){
            $(this).css('background-color','#fcc');
        }
    });
</script>

和50%的Jquery和Javascript相同:

HTML:

<table>
    <tbody>
        <tr>
            <td>Something</td>
        </tr>
        <tr>
            <td>Other Something</td>
        </tr>
    </tbody>
</table>
<input type="button" onclick="changeColor()" value="changeColor" />

100%JQuery:

<script>
    function changeColor(){
        $('tr').each(function(){
            $(this).css('background-color','#fcc');
        }
    });
</script>

你在网上有很多很棒的教程:

Javascript的W3School教程是here

官方JQuery文档是here

来自stackeoverflow的Javascript信息是here

知道如何在2分钟内使用stackoverflow.com here

答案 1 :(得分:0)

getElementsByClassName返回的值完全独立于当前选择。当前选择的document.getElementsByClassName("foo")子集可以通过

获得
var selection = document.getSelection();
var selectedElements = [];
for (element of document.getElementsByClassName("foo") {
  // second argument of containsNode true means elements
  // partly but not entirely within selection will be
  // included.  False would filter for those elements
  // entirely within the selection.
  if (selection.containsNode(element, true))
    selectedElements.push(element);
}

请参阅https://developer.mozilla.org/en-US/docs/Web/API/Selection/containsNode