我正在克隆一个元素并删除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的几种样式。
答案 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
函数从克隆对象中删除该类。