删除id或类但保留样式

时间:2016-12-29 15:55:39

标签: javascript jquery html css

我正在克隆一个元素并删除id以避免重复。通常只有一个班级。 如果最终用户选择使用id并设置其样式,我想确保在克隆元素上保留样式。这是一个基本的例子。

/ * css * /

#unique {
  background: yellow;
}
.general {
  border: 1px solid blue;
}

/ * html * /

<div id="container">
  <div id="unique" class="general">hello</div>
</div>

/ * js / jquery * /

$(function() {
    $( ".general" ).clone().appendTo( "#container" ).removeAttr( "id" );
});

修改 链接的副本提供了一个jQuery插件解决方案。它使用.getComputedStyle方法,它可以工作,但是资源密集,因为它加载计算样式的全部。我希望找到一种方法来识别最终用户可能已经应用于id的几种样式。

1 个答案:

答案 0 :(得分:0)

class ChooseCityView: UIViewController, UITableViewDelegate { @IBOutlet weak var tableView: UITableView! let disposeBag = DisposeBag() override func viewDidLoad() { super.viewDidLoad() let dataSource = Observable.just((0..<20).map { "\($0)" }) dataSource.bindTo(tableView.rx.items(cellIdentifier: "CityCell", cellType: UITableViewCell.self)) { (row, city, cell) in cell.backgroundColor = .white cell.textLabel?.text = "test \(city)" }.addDisposableTo(disposeBag) // Remove empty cells tableView.tableFooterView = UIView() } } 属性需要是唯一的,但类不是。因此,将所有CSS规则绑定到类,因此当您删除id时,样式将保留。在CSS中使用id选择器是一种不好的做法。

然后,您只能为需要唯一的特定规则添加一个类,并使用id函数从克隆对象中删除该类。