GVKun编程网logo

JavaScript如何将类添加到给定的元素?(js给类添加方法)

8

在本文中,我们将带你了解JavaScript如何将类添加到给定的元素?在这篇文章中,我们将为您详细介绍JavaScript如何将类添加到给定的元素?的方方面面,并解答js给类添加方法常见的疑惑,同时我

在本文中,我们将带你了解JavaScript如何将类添加到给定的元素?在这篇文章中,我们将为您详细介绍JavaScript如何将类添加到给定的元素?的方方面面,并解答js给类添加方法常见的疑惑,同时我们还将给您一些技巧,以帮助您实现更有效的javascript – JQuery:如果表头有一个类,则将类添加到表单元格、javascript – 单击在没有Jquery的情况下将类添加到子元素、javascript – 如何向DOM添加支持角色的元素?、javascript – 如何将click事件添加到元素?

本文目录一览:

JavaScript如何将类添加到给定的元素?(js给类添加方法)

JavaScript如何将类添加到给定的元素?(js给类添加方法)

我有一个已经有一个类的元素:

<div>
    <img ... id="image1" name="image1" />
</div>

现在,我想创建一个JavaScript函数,将一个类添加到div(不是替换,而是添加)。

我怎样才能做到这一点?

javascript – JQuery:如果表头有一个类,则将类添加到表单元格

javascript – JQuery:如果表头有一个类,则将类添加到表单元格

假设我有以下html:

<table>
    <thead>
        <tr>
            <th>Header1</th>
            <th>Header2</th>
            <th>Header3</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Row1</td> //Add<td>Row1</td>
            <td>Row1</td> //Add</tr>
        <tr>
            <td>Row2</td> //Add<td>Row2</td>
            <td>Row2</td> //Add</tr>
        <tr>
            <td>Row3</td> //Add<td>Row3</td>
            <td>Row3</td> //Add</tr>
    </tbody>
</table>

如果THEAD中的TR包含类“alignRight”或“alignLeft”,我想将相同的类应用于TBODY中的相应TD.

我正在使用JQuery并尝试了以下方法,但它们似乎都没有正常工作:

$('tr').has('th.alignRight').addClass('th.alignRight');
$('tr').has('th.alignLeft').addClass('th.alignLeft');

$('thead.tr').has('th.alignRight').addClass('tbody.th.alignRight');
$('thead.tr').has('th.alignLeft').addClass('tbody.th.alignLeft');

if ($('thead.tr').has('th.alignRight')){
    $('tbody.tr').addClass('th.alignRight');
}

if ($('thead.tr').has('th.alignRight')){
    $('tbody.tr.td').addClass('alignRight');
}

关于什么可能出错的任何想法?

更新:

我想补充一点,我已经使用.each()循环遍历表.我只需要添加条件,如果当前表头具有该类,则将该相同的类添加到表格单元格中.在当前迭代期间添加额外的迭代听起来会导致性能问题.真的吗?

环:

function(res) {
    var tbl_body = "";
    $.each(res, function () {
        var tbl_row = "";
        $.each(this, function (k, v) {

          //Irrelevant code

            tbl_row += "<td>" + v + "</td>";
        })
        tbl_body += "<tr>" + tbl_row + "</tr>";
    })
    $("#print").html(tbl_body);
    },
    //Other irrelevant code

解决方法:

我认为你没有看到jquery选择器是如何工作的.
$(‘thead.tr’)表示:找到我所有拥有tr类的thead.显然不是你想做的.

这里应该有一个代码:

$('tbody tr td').each(function(index){
    //index contains the current td index in the parent tr (1,2,3),(1,2,3)...
    //if the corresponding th has a class
    if($('thead tr th').eq(index).attr('class') != ''){
        //put this class on the current td
        $(this).addClass($('thead tr th').eq(index).attr('class'));
    }
});

检查td是否有类是没有必要的,因为如果给它一个空参数,addClass什么也不做.

javascript – 单击在没有Jquery的情况下将类添加到子元素

javascript – 单击在没有Jquery的情况下将类添加到子元素

我有一个Jquery不工作的任务,所以我需要一个解决方法来执行添加类事件到div事件的div元素.
我该怎么做呢
为此目的的Jquery将是

$('.wpb_vc_column').click(function(e) {
  alert();
  e.preventDefault();
  $(this).find('.vc_controls').addClass('show-controls');
});
.show-controls {
  color: red
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
  <div>SomeThing</div>
</div>

它基本上是一个wordpress后端的东西,需要在移动设备上可行.

问候

解决方法:

您可以使用querySelectorAll()来选择具有类wpb_vc_column的所有元素,并将click事件与每个元素相关联.然后单击这些元素将查找具有类vc_controls的子元素并将类添加到其中.

function clickedColumn(e){
    e.preventDefault();
    if(this.querySelector('.vc_controls')){
      this.classList.add('show-controls');
    }
}
document.querySelectorAll('.wpb_vc_column').forEach(function(el){
  el.addEventListener('click', clickedColumn);
});
.show-controls{
  color:red;
}
<div>
  <div>SomeThing 1</div>
  <div>SomeThing 2</div>
</div>

javascript – 如何向DOM添加支持角色的元素?

javascript – 如何向DOM添加支持角色的元素?

我想以编程方式添加一些支持Angular的DOM元素.其实我可能需要添加自定义组件.我该怎么做?

这是一个微不足道的小提琴来演示这个问题:http://jsfiddle.net/ZJSz4/2/

HTML:

<div ng-app="main">
    <div ng-controller="MyCtrl">
        <button ng-click="add()" >Add</button>
        <div id="container">
            <div>{{test}}</div>
        </div>
    </div>
</div>

JS:

angular.module("main",[]).controller("MyCtrl",function($scope) {
    $scope.add = function() {
        $("#container").append("<div>{{test}}</div>");
    };

    $scope.test = 'Test Message';
});

为了防万一,我希望它为每个点击添加一个显示“测试消息”的div,而不是{{test}}.

为什么我需要它?那么,我想使用portlet来排列一些可排序的列(以jQuery可排序的方式).我想像每个portlet都可以是一个组件.

我爬错了山吗?有什么方法来解决这个问题?

编辑:我希望这个简单的例子不会以这种方式结束,但无论如何.最终目标不是为数组中的每个元素显示一个div.

我真正想要的是一个更复杂的控制器.我需要一个有趣的行为的portlet容器.它可能需要决定将每个portlet放在不同的列.它可能会改变布局,并有一个体面的方式重组portlet在这种情况下.等等.

解决方法

虽然我不完全确定期望的结果是什么,但您确实想确保所有DOM操作都在指令内完成,而不是在控制器内部完成.

这个JSfiddle的例子应该让你走正确的方向.

http://jsfiddle.net/ZJSz4/5/

<div ng-app="main">
<div ng-controller="MyCtrl">
<div id="container">
    <button ng-click="add()" >Add</button>
    <ng-portlet></ng-portlet>
</div>
</div>
angular.module("main",function($scope) {
    $scope.test = 'Test Message';
}).directive("ngPortlet",function ($compile) {
return {
    template: '<div>{{test}}</div>   ',restrict: 'E',link: function (scope,elm) {
        scope.add = function(){
            console.log(elm);
           elm.after($compile('<ng-portlet></ng-portlet>')(scope));
        }
    }
};
});

javascript – 如何将click事件添加到元素?

javascript – 如何将click事件添加到元素?

我想在普通的 JavaScript(不使用jQuery)中添加一个click事件到这样的元素,所以我没有id而是一个类:
<a href="http://example.com/share">Yummy</a>

解决方法

如果您没有id并且没有任何选择器库并且您希望它在旧版浏览器中工作,则需要更多工作.如果你可以在上面放一个id,那就很简单了.如果没有,则需要更多代码:
var links = document.getElementsByClassName("MyClass");
links[0].onclick = function() {
    // put your click handling code here
    // return(false) if you don't want default click behavior for the link
}

由于getElementsByClassName在旧版浏览器中并非普遍可用,因此在不存在时需要填充程序来实现它.或者,您可以通过以下方式获取文档中的所有链接:

var links = document.getElementsByTagName("a");

然后循环浏览该列表,直到找到所需的那个(也许检查类名).

如果您可以在链接上添加ID:

<a href="http://braza.com/share" id="specialLink">Yummy</a>

然后,它只需要这段代码:

document.getElementById("specialLink").onclick = function() {
    // add code here
}

如果您要定期执行此操作,添加事件侦听器比使用onclick属性更具可扩展性,但如果您没有任何框架,则需要一个函数来添加处理旧版本的事件侦听器IE浏览器

关于JavaScript如何将类添加到给定的元素?js给类添加方法的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于javascript – JQuery:如果表头有一个类,则将类添加到表单元格、javascript – 单击在没有Jquery的情况下将类添加到子元素、javascript – 如何向DOM添加支持角色的元素?、javascript – 如何将click事件添加到元素?等相关内容,可以在本站寻找。

本文标签: